| … | |
… | |
| 1359 | my $correct = shift; my $student = shift; my $ans = shift; my $value = shift; |
1359 | my $correct = shift; my $student = shift; my $ans = shift; my $value = shift; |
| 1360 | my @correct = @{$correct}; my @student = @{$student}; my $m = scalar(@student); |
1360 | my @correct = @{$correct}; my @student = @{$student}; my $m = scalar(@student); |
| 1361 | my $ordered = $ans->{ordered}; |
1361 | my $ordered = $ans->{ordered}; |
| 1362 | my $showTypeWarnings = $ans->{showTypeWarnings} && !$ans->{isPreview}; |
1362 | my $showTypeWarnings = $ans->{showTypeWarnings} && !$ans->{isPreview}; |
| 1363 | my $typeMatch = $ans->{typeMatch}; |
1363 | my $typeMatch = $ans->{typeMatch}; |
| 1364 | my $extra = $ans->{extra} || |
1364 | my $extra = defined($ans->{extra}) ? $ans->{extra} : |
| 1365 | (Value::isValue($typeMatch) ? $typeMatch: $ans->{firstElement}) || |
1365 | (Value::isValue($typeMatch) ? $typeMatch: $ans->{firstElement}); |
| 1366 | "Value::List"; |
1366 | $extra = Value::List->new() unless defined($extra); |
| 1367 | my $showHints = getOption($ans,'showHints') && !$ans->{isPreview}; |
1367 | my $showHints = getOption($ans,'showHints') && !$ans->{isPreview}; |
| 1368 | my $error = $$Value::context->{error}; |
1368 | my $error = $$Value::context->{error}; |
| 1369 | my $score = 0; my @errors; my $i = 0; |
1369 | my $score = 0; my @errors; my $i = 0; |
| 1370 | |
1370 | |
| 1371 | # |
1371 | # |