词干 是仅包含一个句点的符号,该句点是最后一个字符。 它不能以数字或句点开头。

这些是根茎:
FRED.
A.
<.A.B>.
缺省情况下,词干的值是由其符号 (即,转换为大写) 的字符组成的字符串。 如果为符号指定了值,那么它会对变量进行命名,并且其值是该变量的值。

当将一个词干用作赋值的目标时,其名称以该词干开头的所有可能的复合变量都将接收新值,无论它们先前是否具有值。 在赋值之后,对具有该词干的任何复合符号的引用将返回新值,直到将另一个值赋给该词干或单个变量为止。

例如:
hole.  = "empty"
hole.9 = "full"

say  hole.1  hole.mouse  hole.9

/* says "empty empty full" */
因此,您可以为变量的整个集合提供相同的值。 例如:
total. = 0
do forever
   say "Enter an amount and a name:"
   pull amount name
   if datatype(amount)='CHAR' then leave
   total.name = total.name + amount
   end
注: 您始终可以使用主干来获取已分配给整个变量集合的值。 但是,这与使用派生名称与主干相同的复合变量不同。 例如:
total. = 0
null = ""
total.null = total.null + 5
say total. total.null              /* says "0 5" */
您可以使用 DROP 和 PROCEDURE 指示信息来处理由变量主干引用的变量集合。 DROP FRED. 将删除具有该词干的所有变量 (请参阅 DROP) , PROCEDURE EXPOSE FRED. 将显示具有该词干的所有可能的变量 (请参阅 PROCEDURE)。
注:
  1. 当 ARG , PARSE 或 PULL 指令或 VALUE 内置函数或变量池接口更改变量时,效果与赋值相同。 可以使用主干设置整个变量集合来赋值的任何位置。
  2. 由于表达式可以包含运算符 =,并且指令可以完全由表达式 (请参阅 外部环境命令) 组成,因此以下规则会解析可能的模糊性: 任何以符号开头且其第二个标记为 (或以) 等号 (=) 的子句都是 赋值,而不是表达式 (或关键字指令)。 这不是限制,因为您可以通过多种方式确保将该子句作为命令进行处理,例如将空字符串放在第一个名称之前,或者将表达式的第一部分括在括号中。
    同样,如果您无意中使用 REXX 关键字作为赋值中的变量名,那么这不应导致混淆。 例如,以下子句是赋值,而不是 ADDRESS 指令:
    Address='10 Downing Street';
  3. 您可以使用 SYMBOL 函数来测试是否为符号指定了值 (请参阅 SYMBOL)。 此外,您可以设置 SIGNAL ON NOVALUE 以捕获任何未初始化变量的使用 (除非它们是复合变量中的尾部; 请参阅 条件和条件陷阱)。