Log Message:
-----------
Allow subclasses of AnswerEvalutor to be used. Check for a match
with a substring AnswerEvaluator instead of equality.
Modified Files:
--------------
pg/lib/WeBWorK/PG:
Translator.pm
Revision Data
-------------
Index: Translator.pm
===================================================================
RCS file: /webwork/cvs/system/pg/lib/WeBWorK/PG/Translator.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -Llib/WeBWorK/PG/Translator.pm -Llib/WeBWorK/PG/Translator.pm -u -r1.11 -r1.12
--- lib/WeBWorK/PG/Translator.pm
+++ lib/WeBWorK/PG/Translator.pm
@@ -1109,7 +1109,7 @@
if (ref($rf_fun) eq 'CODE' ) {
$rh_ans_evaluation_result = $self->{safe} ->reval( '&{ $rf_fun }($temp_ans)' ) ;
warn "Error in Translator.pm::process_answers: Answer $ans_name:<BR>\n $@\n" if $@;
- } elsif (ref($rf_fun) eq 'AnswerEvaluator') {
+ } elsif (ref($rf_fun) =~ /AnswerEvaluator/) {
$rh_ans_evaluation_result = $self->{safe} ->reval('$rf_fun->evaluate($temp_ans, ans_label => \''.$ans_name.'\')');
$@ = $errorTable{$@} if $@ && defined($errorTable{$@});
warn "Error in Translator.pm::process_answers: Answer $ans_name:<BR>\n $@\n" if $@;
|