Difference between revisions of "Answer Checker Options (MathObjects)"

From WeBWorK_wiki
Jump to navigation Jump to search
m
m (Make links to classes go to Answer Checker section)
Line 39: Line 39:
 
In addition to these, the individual MathObject types have their own options. These are documented in the individual pages for the various [[:Category:MathObject_Classes| MathObject classes]], linked below:
 
In addition to these, the individual MathObject types have their own options. These are documented in the individual pages for the various [[:Category:MathObject_Classes| MathObject classes]], linked below:
   
* '''[[Real_(MathObject_Class)| Real]]''' class
+
* '''[[Real_(MathObject_Class)#Answer_Checker| Real]]''' class
* '''[[Infinity_(MathObject_Class)| Infinity]]''' class
+
* '''[[Infinity_(MathObject_Class)#Answer_Checker| Infinity]]''' class
* '''[[Complex_(MathObject_Class)| Complex]]''' class
+
* '''[[Complex_(MathObject_Class)#Answer_Checker| Complex]]''' class
* '''[[Point_(MathObject_Class)| Point]]''' class
+
* '''[[Point_(MathObject_Class)#Answer_Checker| Point]]''' class
* '''[[Vector_(MathObject_Class)| Vector]]''' class
+
* '''[[Vector_(MathObject_Class)#Answer_Checker| Vector]]''' class
* '''[[Matrix_(MathObject_Class)| Matrix]]''' class
+
* '''[[Matrix_(MathObject_Class)#Answer_Checker| Matrix]]''' class
* '''[[List_(MathObject_Class)| List]]''' class
+
* '''[[List_(MathObject_Class)#Answer_Checker| List]]''' class
* '''[[Interval_(MathObject_Class)| Interval]]''' class
+
* '''[[Interval_(MathObject_Class)#Answer_Checker| Interval]]''' class
* '''[[Set_(MathObject_Class)| Set]]''' clas
+
* '''[[Set_(MathObject_Class)#Answer_Checker| Set]]''' clas
* '''[[Union_(MathObject_Class)| Union]]''' class
+
* '''[[Union_(MathObject_Class)#Answer_Checker| Union]]''' class
* '''[[String_(MathObject_Class)| String]]''' class
+
* '''[[String_(MathObject_Class)#Answer_Checker| String]]''' class
* '''[[Formula_(MathObject_Class)| Formula]]''' class
+
* '''[[Formula_(MathObject_Class)#Answer_Checker| Formula]]''' class
   
   

Revision as of 04:25, 6 August 2012

The action of a MathObjects answer checker can be modified by passing options to the cmp() method. For example:

   ANS(Real(pi)->cmp(showTypeWarnings => 0));

will prevent the answer checker from reporting errors due to the student entering the wrong type of answer (say a vector rather than a number).


Options common to all answer checkers

There are a number of options common to all the checkers:

Option Description Default
showTypeWarnings => 1 or 0 Show/don't show messages about student answers not being of the right type. 1
showEqualErrors => 1 or 0 Show/don't show messages produced by trying to compare the professor and student values for equality, e.g., conversion errors between types. 1
ignoreStrings => 1 or 0 Show/don't show type mismatch errors produced by strings (so that NONE will not cause a type mismatch in a checker looking for a list of numbers, for example). 1
studentsMustReduceUnions => 1 or 0 Controls whether or not students answers are allowed to include overlapping, redundant, or uncombined intervals. 1
showUnionReduceWarnings => 1 or 0 Do/don't show warnings for unreduced unions. This includes warnings about overlapping sets, uncombined intervals (like (0,1] U [1,infinity]), and repeated elements in sets. 1


Options for Individual MathObject Classes

In addition to these, the individual MathObject types have their own options. These are documented in the individual pages for the various MathObject classes, linked below:


Changing the Default Options

You can set the default options for each MathObject class using the cmpDefaults field of the Content. To set the options for the Real class, for example, use

   Context()->{cmpDefaults}{Real} = {ignoreStrings => 0, ignoreInfinity => 0};

This will force the ignoreStrings and ignoreInfinity values to be set to 0 automatically for all answer checkers formed from Real MathObjects. These values can still be overridden by explicitly setting the option on the cmp() call.