Rexx 与 AIX
2008-11-10 08:28:36 来源:WEB开发网此示例先写出 tmpfile 外部文件的字数统计表,然后依赖 sort 外部系统命令对所得到的报告排序。AIX 和其他风格的 UNIX 都内置于 sort 命令行实用工具。
清单 4. 清单 3 的示例排序报告
...
along 1
alongside 1
already 3
also 7
...
现在,大多数 Rexx 安装都内置了自己的排序扩展,因此可以方便地为缺少快速排序或冒泡排序的安装定义实现这些排序方法的子例程。清单 3 很有启发意义,因为 Rexx 主要用于对来自其他工具的结果进行解析、管理和重新排列。在处理大型数据集的环境中,最好为 Rexx 团队提供专门的外部 sort 命令。因此,下一个有关 Rexx 的事实是 Rexx 希望与系统命令“合作”。
这是否说明 Rexx 难以使用?因为使用程序 Shell 产生的排序字数统计列表将非常简单,如下所示:
清单 5. 用 Shell 对字数统计排序
FILE=$1
TMPFILE=/tmp/$$
for word in `cat $FILE`
do
echo $word >> $TMPFILE
done
sort $TMPFILE | uniq -c
此 解决方案不是更好吗?
在目前这个问题上,我们承认,Shell 的表现更为出色;它很好地利用了内置的 uniq -c 命令。即使在对报告重新格式化或进行简单的筛选时,也可能只需要向 sh 源代码添加另一行代码即可。
但是,在需要执行算术运算或管理比空格分隔的记录更为复杂的数据结构时,Shell 将开始变得难堪重负。Rexx 适用于比 sh 要求更高的项目。ooRexx 更是如此,它内置了一个基本类集,其中包括:
QUEUE
TABLE
ALARM
SET
MESSAGE
以及另外六个类
ooRexx 完全支持多态性、继承性和重要的库(例如 TCP/IP 和算法)等面向对象的方面,从而使 Rexx 程序可以满足较为复杂的要求。使用 Rexx/Tk、Rexx/DW 或其他 GUI 库之一,还可以进行图形用户界面编程。
现在,您已了解了有关 Rexx 的基本事实。如果您已熟悉多种动态语言和现代 Shell,则 Rexx 可能不会为您提供太多便利。但另一方面,如果您的日常工作属于其他领域,而并不要求考虑元编程或连续性,特别是当您跨多种 IBM 系统工作时,您将希望阅读参考资料部分,以便了解有关 Rexx 的更多信息。
结束语
请记住:
Rexx 程序易于理解。
您可以找到大量可用的 Rexx 资源。
现代计算机很少在缺省安装中提供 Rexx。
您可以为计算机下载 Rexx。
Rexx 希望与系统命令“合作”。
Rexx 适用于比 sh 要求更高的项目。
祝您的 Rexx 编程之路一帆风顺。
更多精彩
赞助商链接