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

人人可用的 Rexx

 2008-11-10 08:28:32 来源:WEB开发网   
核心提示: 清单 10. ls-6.rexx#!/usr/bin/rexxADDRESS SYSTEM ls WITH OUTPUT STEM ls.SIGNAL ON NOVALUE NAME quitDO i=1SAY i || ") " || ls.iENDquit:为完成我

清单 10. ls-6.rexx

#!/usr/bin/rexx
ADDRESS SYSTEM ls WITH OUTPUT STEM ls.
SIGNAL ON NOVALUE NAME quit
DO i=1
  SAY i || ") " || ls.i
END
quit:

为完成我们的 ls 变量,接下来用一个文件作为它的 I/O:

清单 11. ls-4.rexx

#!/usr/bin/rexx
ADDRESS SYSTEM ls WITH OUTPUT STREAM files
DO i=1
  line = linein(files)
  IF line = "" THEN LEAVE
  SAY i || ") " || line
END
rm files

由于输出流是一个规则的文件,因此最好在结束时将其删除。

文本处理函数

通过前面简短的例子,读者将会对 Rexx 这门编程语言有一些感觉。当然,您也可以定义您自己的过程和函数 —— 在单独的模块文件中,如果您希望的话 —— 然后以 CALL 指令或者以带括号的参数方式来调用它们,正如本文中一些使用标准函数的例子。

或许,作为一门文本处理语言,Rexx 的最强大之处在于它所具备的实用的内置字符串处理函数。可能有超过一半的标准 Rexx 函数用于处理字符串,其他的大部分被用来以极其显而易见的方式处理位向量。此外,甚至位向量也经常作为由 1 和 0 构成的向量来处理(或者读入):

清单 12. bits.rexx

#!/usr/bin/rexx
SAY b2c('01100001') b2c('01100010')     /* --> a b */
SAY bitor(b2c('01100001'), b2c('01100010')) /* --> c  */
SAY bitor('a','b')             /* --> c  */
EXIT
/* Function in ARexx, but not ANSI Rexx */
b2c: PROCEDURE
 ARG bits
 return x2c(b2x(bits))

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

Tags:人人 可用 Rexx

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