StringsInContext
From WeBWorK
Allowing String Answers: PG Code Snippet
This code snippet shows the essential PG code to allow students to enter text as alternate answers in a question. Note that these are insertions, 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 |
|---|---|
Context()->strings->add(none=>{});
# or, if we wanted a case-sensitive string,
# we would instead use
# Context()->strings->add(
# none=>{caseSensitive=>1});
|
No changes are necessary to the tagging and description or initialization sections of the problem file. In the problem set-up section, we add the strings that are to be allowed in answers to the Context. Note that the add call has the form
Context()->strings->add(none=>{},
N=>{alias=>"none"});
(Which would allow "N" to be used instead of "none".) By default, strings are case-insensitive. To make them case sensitive, include this as an option in the Context call. |
BEGIN_TEXT
Enter the positive real value of \(x\) for which
\(x^2 = -2\):
$BR
\(x = \) \{ ans_rule(15) \}
$BR
${BITALIC}(Enter ${BBOLD}none$EBOLD if there
are no values that satisfy the equation.)$EITALIC
|
In the text section of the problem file, we include the problem as expected. It's usually a good idea to include some indication of what strings are expected or allowed in the answer. |
ANS( Compute("none")->cmp() );
|
And in the answer and solution section of the file, we evaluate the answer as expected. Note that if the problem had a solution, we could have used something like |

