--- loncom/homework/default_homework.lcpm 2001/10/29 21:15:44 1.39
+++ loncom/homework/default_homework.lcpm 2001/12/04 14:48:35 1.41
@@ -45,6 +45,8 @@ sub caparesponse_check {
} elsif ($type eq 'mc') { $type = 5;
} elsif ($type eq 'fml') { $type = 8;
} elsif ($type eq 'subj') { $type = 7;
+ } elsif ($type eq 'float') { $type = 2;
+ } elsif ($type eq 'int') { $type = 1;
} else { return "ERROR: Unknown type of answer: $type" }
}
@@ -101,22 +103,24 @@ sub get_array_args {
# do these first, because who knows what varname the instructor might have used
# but it probably isn't $CAPARESPONSE_CHECK_LIST_answer
my $CAPARESPONSE_CHECK_LIST_answer = eval $expr.';return $'.$arg; #'
+ my $GET_ARRAY_ARGS_result;
+ my @GET_ARRAY_ARGS_list;
if ($CAPARESPONSE_CHECK_LIST_answer =~ /^\s*[\$\@]/) {
- my (@list) = eval $CAPARESPONSE_CHECK_LIST_answer;
+ (@GET_ARRAY_ARGS_list) = eval $CAPARESPONSE_CHECK_LIST_answer;
}
- my $result='';
- $result.="error:$@:
";
+ $GET_ARRAY_ARGS_result.="error:$@:
";
# if the eval fails just use what is in the answer exactly
- if (!defined(@list) || !defined($list[0])) {
- $result.="list zero is undefined
";
- $list[0]=$CAPARESPONSE_CHECK_LIST_answer;
+ if (!defined(@GET_ARRAY_ARGS_list) || !defined($GET_ARRAY_ARGS_list[0])) {
+ $GET_ARRAY_ARGS_result.="list zero is undefined
";
+ $GET_ARRAY_ARGS_list[0]=$CAPARESPONSE_CHECK_LIST_answer;
}
- return @list;
+ return $GET_ARRAY_ARGS_result,@GET_ARRAY_ARGS_list;
}
sub caparesponse_check_list {
my ($response,$expr)=@_;
- my (@list) = &get_array_args($expr,'answer');
+ my $result;
+ my ($result,@list) = &get_array_args($expr,'answer');
my $aresult='';
my $current_answer;
my $answers=join(':',@list);