set (variable) to (definition)

This construct defines a variable as an object, a collection, or a value.

Purpose

You use this construct in the definitions part of a rule to declare a local variable.

Syntax

set ‘<variable>’ to <definition> [in <list> / from <object>] [where <test>*] ;

Description

Variables produce more concise rules by replacing a value or the result of an expression with a short, convenient identifier. A local variable can be used anywhere within the rule in which it is defined, but is not available in other rules.

Enclose the name of each variable in single quotes. This is compulsory for variable names that contain spaces. While it is not essential to enclose one-word variable names in single quotes, it makes them easier to identify and to reduce the risk of confusion.

Example

The following examples show how to define a variable as an object.

definitions
   set 'i' to an item;
   set 'house' to a house 
      where the price of this house is more than 1000;

The following examples show how to define a variable as a literal, string, or collection.

definitions
   set 'category' to Gold ;
   set 's' to "a string";
   set 'expensive items' to all items 
      in the items of the shopping cart of the customer 
      where the price of each item is more than 200;

The following example shows how to define a variable as the result of an expression.

definitions
   set 'expr' to the price of the car of the customer + 100;
   set 'h2' to the house of the customer 
      where the price of this house is more than 1000;

The following example shows how to define a variable as another variable.

definitions
   set 'expr2' to 'expr';