[LON-CAPA-users] variables and customrespone
Peter Dencker
dencker at math.uni-luebeck.de
Thu Jan 31 16:55:56 EST 2013
Hi,
can I use the value of a variable, changed between the <answer>,
</answer> tags in
<customresponse id="r0">
<answer type="loncapa/perl">
$variable = 'some value';
</answer>
</customresponse
outside this customresponse?
Defining it in an additional customhint works. But often I use the same
extensive tests on the $submission and have to do it twice. This is not
really a problem, as I can write a sub in an outside perl script. But I
wonder whether I have to do so. I give a simple example below.
-- Peter
<problem>
<script type="loncapa/perl">
$message ='';
</script>
<startouttext />
Give an odd integer number.
<endouttext />
<customresponse id="r0">
<answer type="loncapa/perl">
unless ( $submission =~ /^\s*[-+]?\s*\d*\s*$/ ) {
$message = "Submission is not an integer number.";
## value of $message is not changed outside
## (comment out the same line in the customhint)
return 'BAD_FORMULA'
}
if ( $submission % 2 == 1 ) { return 'EXACT_ANS' }
return 'INCORRECT'
</answer>
<customhint id="r0h0">
<answer type="loncapa/perl">
unless ( $submission =~ /^\s*[-+]?\s*\d+\s*$/ ) {
## the same test
$message = "Submission is not an integer number."
}
</answer>
</customhint>
</customresponse>
<startouttext />
<br /> <textline readonly="no" /> <br />
$message
<endouttext />
</problem>
More information about the LON-CAPA-users
mailing list