Difference between revisions of "ErrorMessageCustomization"
m |
m |
||
Line 57: | Line 57: | ||
message <code>Missing operand after '-'</code>. We can replace |
message <code>Missing operand after '-'</code>. We can replace |
||
this error message with <code>"Enter '-1' instead of '-'"</code> via |
this error message with <code>"Enter '-1' instead of '-'"</code> via |
||
− | the <code>Context()->{error}{msg} |
+ | the <code>Context()->{error}{msg}...</code> code to the left. |
The replacement error message can be anything you like as long as |
The replacement error message can be anything you like as long as |
||
it is nonempty. To generate a blank error message, use a quoted |
it is nonempty. To generate a blank error message, use a quoted |
Revision as of 22:46, 26 January 2010
Error Message Customization: PG Code Snippet
This PG code shows how to customize (remap) the error messages students receive after submitting an incorrect response or making a syntax error when entering their answer. This requires using MathObjects or a macro file that loads MathObjects, so that a Context is defined. Note that this is an insertion, not a complete PG file. This code will have to be incorporated into the problem file on which you are working.
PG problem file | Explanation |
---|---|
loadMacros("PGstandard.pl","MathObjects.pl"); |
Initialization: To be able to customize the error messages students receive, we must be using MathObjects or a macro that loads MathObjects and has a Context. |
Context("Numeric"); Context()->{error}{msg}{"Missing operand after '-'"} = "Enter '-1' instead of '-'"; $ans1 = Real("-1"); $ans2 = Formula("x-2"); |
Setup:
First, specify a Context. One way to remap the error message
is through the context. In factoring For another way to customize the error message, see the Answer Evaluation section below. |
BEGIN_TEXT Factor \( -1 \) from \( -x+2 \). $BR \( -x + 2 = \) \{ ans_rule(5) \} \( \cdot \big( \) \{ ans_rule(10) \} \( \big) \) END_TEXT |
Main Text: The problem text section of the file is as we'd expect. |
ANS( $ans1->cmp() ); ANS( $ans2->cmp() ); |
Answer Evaluation:
Another way to customize the error message ANS($ans1->cmp->withPostFilter(sub { my $ans = shift; $ans->{ans_message} = "Enter '-1' instead of '-'" if $ans->{ans_message} eq "Missing operand after '-'"; return $ans; })); |
- POD documentation: answerHints.pl.html
- PG macro: answerHints.pl