RandomTools
AddFlavor
add a flavor template to generate random objects
Calling Sequence
Parameters
Description
Examples
AddFlavor(flvr)
flvr
-
equation of the form x=flavor where x is any symbol and flavor is a procedure or module; defines the name of the flavor to add
The AddFlavor(flvr) function teaches the Generate function about a new flavor. The flavor can be a procedure or a module definition, and it determines the form of the returned random object.
If flavor is a procedure, RandomTools[Generate](flvr) calls that procedure.
If flavor is a module, it must have an export named Main that is of type procedure. In this case, RandomTools[Generate](flvr) calls flavorMain.
Note: The call x[op1, op2](arg1, arg2) translates into the function call flavor['Main'][op1, op2](arg1, arg2).
This function is part of the RandomTools package, and so it can be used in the form AddFlavor(..) only after executing the command with(RandomTools). However, it can always be accessed through the long form of the command by using the form RandomTools[AddFlavor](..).
with⁡RandomTools:
Generate⁡A
Error, (in RandomTools:-Generate) the flavor `A` does not exist
AddFlavor⁡A=rand⁡1..20:
15
13
member⁡A,GetFlavors⁡
true
Generate⁡alphachar
Error, (in RandomTools:-Generate) the flavor `alphachar` does not exist
AddFlavor(alphachar = proc() [a,b,c,d,e,f][rand(1..6)()] end proc):
member⁡alphachar,GetFlavors⁡
See Also
module
procedure
RandomTools[Generate]
RandomTools[GetFlavors]
Download Help Document