WEB开发网
开发学院操作系统Linux/Unix 人人可用的 Rexx 阅读

人人可用的 Rexx

 2008-11-10 08:28:32 来源:WEB开发网   
核心提示: 另一个值得说明的有用栈是 Rexx 脚本的命令行参数,例如,人人可用的 Rexx(4),我们可能希望在我们的编号实用程序中执行任意的命令,而不是只执行 ls : 清单 6. numbered-1.rexx#!/usr/bin/rexxPARSE ARG cmdADDRESS SYSTEM

另一个值得说明的有用栈是 Rexx 脚本的命令行参数。例如,我们可能希望在我们的编号实用程序中执行任意的命令,而不是只执行 ls :

清单 6. numbered-1.rexx

#!/usr/bin/rexx
PARSE ARG cmd
ADDRESS SYSTEM cmd WITH OUTPUT FIFO ''
DO i=1 WHILE queued()=0; PARSE PULL ln; SAY i||") "||ln; END

脚本执行:

清单 7. 向 numbered-1 传递命令

$ ./numbered-2.rexx ps -a -x
1)  PID TT STAT   TIME COMMAND
2)   1 -- Ss   0:00.00 /sbin/init
3)   2 -- Ss   0:00.19 /sbin/mach_init
4)  51 -- Ss   0:01.95 kextd
[...]

PARSE PULL 可以用于从用户输入中得到行。按照参数 cmd 执行的例子,您可以在 Rexx 中写一个 shell 或者交互式的环境(或许会运行外部的实用程序或者内置命令,正如同 bash )。

词干变量和关联数组

在 Rexx 中 —— 有些类似于在 TCL 中 —— 在很大程度上 一切都是字符串。由多行组成的栈和流给您一个简单的字符串列表或者数组。但是,通常, 根据需要字符串完全可以有像其他数据类型一样行为。例如,包含有对一个数字(阿拉伯数字、十进制数、指数“e”,等等)适当描述的字符串可以用于数学运算。对于处理报告、日志文件等类似工作,这是您实际上期望的行为。

不过,Rexx 确实有一个另外的标准数据类型:关联数组。在 Rexx 中,它们被命名为“词干变量”,但是其概念非常类似于很多其他语言中的程序库。词干变量的语法对 OOP 语言 (如 Java、Python 或者 Rudy) 的用户来说也会惊人地熟悉:一个句点将“对象”和它们的“属性”隔开。这不是真正的面向对象,但是其语法确实(偶然地)突出了对象与特别健壮的程序库的相似程度。 其实有对 Rexx 的 OOP 扩展,但是本文将不会介绍它们。

上一页  1 2 3 4 5 6 7  下一页

Tags:人人 可用 Rexx

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接