Skip to content

Group Command Component

Obsolete

Indicators are obsolete, with the exception of predefined indicators that already exist in the language. Among the reasons for this is the limit of 89 user-defined indicators per program and that indicators are global.

Use the Boolean command to declare Boolean variables instead or declare properties in classes and objects. You can use the move command to set and retrieve the value of indicators.

Purpose

To set the value of an indicator based on the value of up to six other indicators.

Syntax

indicate
    indicator
    group any|all [
        indicator [indicator] [indicator]
    ] ;
    [
        and|or any|all [
            indicator [indicator] [indicator]
        ]
    ]

The value of the first-named indicator is set by the values of the succeeding indicators, between two and six of them.

The brackets [] are typed in the command, and each pair delimits one group of indicators, of which the first is required, and the second is optional.

Each group of indicators may contain between one and three indicators.

Each group of indicators must be preceded by either any or all. Any sets the value of the group to true if one or more of the indicators is true, while all sets the value of the group to true only if all of the indicators are true.

If the command uses the optional second group of indicators, its value must be conjoined with that of the first by the use of either and or or. And sets the value of the two groups to true only if both groups evaluate to true, while or sets the value of the two groups to true if either group evaluates as true.

The value invert or not may be used before any indicator.

The semicolon (;) is shown only to enable the single, long command line to be shown as two physical lines. The semicolon has this effect when used (as many times in one line as required) in actual program source code, up to a maximum command line length of 255 characters.

What It Does

Group evaluates up to two groups of up to three indicators each, conjoining the values of the indicators within each group with any or all, and the values of the groups by and or or. It may be used only with the indicate command, and sets the value of the indicator first named in the command.

indicate good group;
    all    [kind    honest    faithful    ] and;
    any    [brave    wise    fair        ]

In this example, if indicators kind, honest, and faithful are all true and at least one of the indicators brave, wise, and fair is true, indicator good will be set to true. Good will be set to false if either kind, honest, or faithful is false, or if neither brave, wise, nor fair is true. The semicolon line breaks and spacing are only to accommodate physical line length and readability.

indicate bad group;
    any [larcenous jealous vicious] or;
    any [not good]

In this example, indicator bad is set to true if either indicator larcenous, jealous, or vicious is true, or if indicator good is false. If larcenous, jealous, and vicious are all false and good is true, bad will be set to false.

These are but two of the many possibilities that can be created with various patterns of all, any, and, or, and not.

Notes

  • Group replaces the as in the format of the indicate command.

  • You may have up to two groups of indicators per indicate indicator group command. You can have up to three indicators per group.

  • You must enclose groups of indicators in square brackets ([]), even if the group contains only one indicator. The conjoiner any or all must be used before each group of indicators, even though they have no effect on groups of one indicator.

  • You may use not to reverse the sense of any indicator. You may use the tilde character (~) as a direct replacement for the word not.