Difference between revisions of "ErrorMessageCustomization"

From WeBWorK_wiki
Jump to navigation Jump to search
m
Line 51: Line 51:
 
<b>Setup:</b>
 
<b>Setup:</b>
 
First, specify a Context. One way to remap the error message
 
First, specify a Context. One way to remap the error message
is through the context. In factoring -x+2 as -(x-2), students
+
is through the context. In factoring <code>-x+2</code> as <code>-(x-2)</code>, students
 
may enter <code>-</code> instead of <code>-1</code> in the
 
may enter <code>-</code> instead of <code>-1</code> in the
 
first answer box and receive the error
 
first answer box and receive the error
Line 61: Line 61:
 
space <code>" "</code>.
 
space <code>" "</code>.
 
</p>
 
</p>
<p>
 
Notes: on using this and related Contexts.
 
</p>
 
 
 
</td>
 
</td>
 
</tr>
 
</tr>

Revision as of 22:32, 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.

Problem Techniques Index

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 -x+2 as -(x-2), students may enter - instead of -1 in the first answer box and receive the error message Missing operand after '-'. We can replace this error message with "Enter '-1' instead of '-'" via the Context()->{error}{msg} .... code to the left. The replacement error message can be anything you like as long as it is nonempty. To generate a blank error message, use a quoted space " ".

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: As is the answer.

Problem Techniques Index