解析指令示例
显示了将源字符串解析为词的示例。
关于此任务
- ARG
/* ARG with source string named in REXX program invocation */ /* Program name is PALETTE. Specify 2 primary colors (yellow, */ /* red, blue) on call. Assume call is: palette red blue */ arg var1 var2 /* Assigns: var1='RED'; var2='BLUE' */ If var1<>'RED' & var1<>'YELLOW' & var1<>'BLUE' then signal err If var2<>'RED' & var2<>'YELLOW' & var2<>'BLUE' then signal err total=length(var1)+length(var2) SELECT; When total=7 then new='purple' When total=9 then new='orange' When total=10 then new='green' Otherwise new=var1 /* entered duplicates */ END Say new; exit /* Displays: "purple" */ Err: say 'Input error--color is not "red" or "blue" or "yellow"'; exitARG 在解析之前将字母字符转换为大写。 带有子例程的 CALL 中的自变量的 ARG 示例在 解析多个字符串中。
- 解析参数
- 工作方式与 ARG 相同,但 PARSE ARG 在解析前不会将字母字符转换为大写。
- 解析外部
Say "Enter Yes or No =====> " parse upper external answer 2 . If answer='Y' then say "You said 'Yes'!" else say "You said 'No'!"- 解析数字
parse numeric digits fuzz form say digits fuzz form /* Displays: '9 0 SCIENTIFIC' */ /* (if defaults are in effect) */- 解析拉取
PUSH '80 7' /* Puts data on queue */ parse pull fourscore seven /* Assigns: fourscore='80'; seven='7' */ SAY fourscore+seven /* Displays: "87" */- PARSE 源
parse source sysname . Say sysname /* Displays: "CICS" */- PARSE 值
- 请参阅 用于解析为词的简单模板中的示例。
- 解析变量
- 请参阅整个解析信息中的示例,从 用于解析为词的简单模板开始。
- 解析版本
parse version . level . say level /* Displays: "3.48" */- PULL
- 除 PULL 在解析前将字母字符转换为大写外,其工作方式与 PARSE PULL 相同。