首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rexx -方括号用法

Rexx -方括号用法
EN

Stack Overflow用户
提问于 2014-07-31 11:05:29
回答 4查看 411关注 0票数 1

我对Rexx非常陌生,这里非常基本的东西,我想快速得到数组的最后一个元素。

打开对象Rexx 4.2.0用于Windows:

代码语言:javascript
复制
test.0=2
test.1="foo"
test.2="bar"
say test.[test.0]

需要的==>输出:

代码语言:javascript
复制
bar

我很容易猜到,Object解释器正在工作。方括号不能与z/OS上的Rexx一起使用。

我想到的第一件事(没有RTFM):

代码语言:javascript
复制
say test.test.0
say test.(test.0)

==>输出不好:

代码语言:javascript
复制
TEST.TEST.0
    5 *-* say test.(test.0)
Error 16 running Test.REX line 5:  Label not found
Error 16.1:  Label "SYNTAX" not found

方括号还有其他用法吗?为什么来自C/Java/Python,我要进行test.test.0或者像一个虚拟的test.(test.0)?

在Rexx中找不到更多关于方括号使用的信息,只有以下内容:雷金纳德的尾巴表情

因此,在z/OS下,我现在被困住了:

代码语言:javascript
复制
temp=test.0
say test.temp
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-31 16:08:58

你已经找到了你问题的答案。

在大型机REXX (z/OS、z/VSE、z/VM)下,唯一的方法是像上面编写的那样:

temp=test.0 say test.temp

了解REXX解释器正在做什么的最佳文档可以在复合符号 (V2.1链接)下的z/OS /E引用中找到。它描述了test.test.0无法工作的原因,因为解释器是如何处理行的;在本例中,它是在查找Stemtest.test.0。

请注意,您可以编写

代码语言:javascript
复制
test.test.0 = 0

并且您将有一个有效的茎测试.test.0(尽管在大多数情况下可能没用)。

链接中的下一个主题将讨论茎变量,这些变量也有很多有用的信息。

我强烈建议阅读z/OS TSO/E REXX参考z/OS TSO/E REXX用户指南 (都是V2.1链接)。

票数 3
EN

Stack Overflow用户

发布于 2014-07-31 16:12:36

其他纯(非对象) Rexx替代品:

代码语言:javascript
复制
interpret "say test." || test.0

代码语言:javascript
复制
say value("test." || test.0)
票数 2
EN

Stack Overflow用户

发布于 2014-07-31 11:48:02

z/OS上默认的Rexx解释器是经典Rexx,而不是OORexx。OORexx 没有被移植 to z/OS。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25057337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档