Require
Statement
Gives a module access to a library module, and lets you use its public names directly.
Syntax
Usual construct
Require library_name [ As short_name ] [ , library_name ]…
Limits construct
Require library_name [ As short_name ] Where limit [ { And | Or } limit ]…
Parts
library_name
- Mandatory qualified name for a library. The usual construct lets you use a list with commas between each item. But the limits construct can have only one.
short_name
- Optional alternative name that you give for a library.
limit
Mandatory in the limits construct, a comparison expression. You can use one or more limits to find the correct library if different libraries have the same name.
Limit
attrib_name comparison_op attrib_value
attrib_name
- Mandatory name.
comparison_op
- One of the comparison operators:
=
,<
,<=
,>
,>=
, or<>
. attrib_value
- Mandatory literal of
DateTime
, string, or version number.
Instructions
TODO
Usual construct
TODO
Limits construct
You use the limits construct when more than one library with the same name is available.
You can compare the names and values supplied by the statements Where
in each library.
These values can have one of three data types: DateTime
, String
, or version number.
Comparing strings
You can compare a string identifier to a string literal.
The only permitted comparison operators are equality (=
) and inequality (<>
).
To be equal, the letter case used by Require
must be the same used by the library.
An example follows.
Require MyLibrary Where author = "John Doe"
Comparing versions
You can compare a version identifier to a version literal.
All comparison operators are available:
=
, <
, <=
, >
, >=
, and <>
.
An example follows.
Require MyLibrary Where version = 1.5.0
You can also compare a version identifier to a range of versions.
You must write this in the sequence (1) lower version, (2) comparison, (3) identifier, (4) comparison, (5) higher version.
The comparisons must be one of the operators <
or <=
.
An example follows.
Require MyLibrary Where 1.1.0 <= version < 2.0.0
And
and Or
You can put two or more comparisons together with one of the operators And
and Or
.
These operators operate the same as the logical operators with the same name.
If you put the operator And
between comparisons, the two must be true.
But if you put the operator Or
between comparisons, only one must be true.
The logical operators usually evaluate in sequence from left to right.
But you can change this with parentheses (“( )
”).
Comparisons between parentheses evaluate before outer comparisons.
An example follows.
Require MyLibrary _
Where (author = "John Doe" And version < 2.1.0) _
Or (author = "Jane Doe" And version >= 2.1.0)
Version literal
number . number . number [ . number ]
number
- One of three or four groups of decimal integers. The compiler ignores zeroes before other numbers at the start of a group.
- For example, «
1.02.03
» is the same as «1.2.3
».
Examples
Require ViviFire.IO
Require MyProject.TestHarness Where version = 2.1.0