WeBWorKdocs

sq_webwork:


Home
Current UR
courses
Visitor
page
Intro to
WeBWorK
WeBWorK 2
Twiki
WW
Community
Grant Support
& awards
Discussion
group
Problem
library
Write/modify
problems
Create &
manage course
Tutorial on
running a course
HowTos
FAQ
WeBWorK2
FAQ
Software
Download
How to
Install WW server
Feedback
Site Map
Change
preferences
Change
password





Prev | Next | manpages

set_default_options

Description
This utility subroutine can be used within any subroutine, evaluator or filter which uses options. It provides a uniform way to set default options. It should be preceeded by assign_option_aliases. This is principally intended for use in macros.

Syntax

set_default_options($rh_options, %default_options)

Params

$rh_options -- reference to the hash containing the options received by the parent subroutine
%default_options-- contains a list of possible options and their default values allowed by the parent subroutine.

Action

All default options which are not already defined in the received option hash (%$rh_options) are defined with the prescribed default options. If there are any options in %$rh_options which do not have a corresponding entry in the hash of default options an error will be signaled, UNLESS the option 'allow_unknown_aliases' in the default option hash is set to 1 in which case unknown options in the received option hash do not trigger an error.

Returns

Nothing

Notes

Setting 'allow_unknown_aliases' to 1 allows the use of a single long option hash for several subroutines. Each subroutine will take only the options it needs and will ignore the others without triggering an error. This can be very convenient, however in this case there is no error checking for misspelled option names. Whenever possible subroutines that will be used directly by authors of problems should set the 'allow_unknown_aliases' option to false ( or equivalently, omit it completely) in order to provide better error checking when writing problems.

See Also

assign_option_aliases

<| Post or View Comments |>


Prev | Next | manpages

Last update: Wednesday, January 10, 2007 at 10:23:28 PM.
This site maintained using Manila and Frontier software.