IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

将词干(数组)传递给调用程序


IBM大型机论坛 -> 清单& REXX
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
trushant.w

新的用户


已加入:2013年9月22日
帖子:81
地点:印度浦那

发布发表于:2014年8月7日(星期四)上午9:56
引用回复

大家好

我试图使用retun语句将所有数组元素传递给子程序中的调用程序。

我的词干元素如下
元素1
元素2
元素3
数组元素的数量不能是1到n之间的任何值。

但是在校准程序中使用“说结果”时,我无法显示主变量的值。
回到顶部
查看用户资料 发送私信
保罗·沃纳

新的用户


已加入:2012年11月26日
帖子:52
地点:英国

发布发表于:2014年8月7日星期四上午11:49
引用回复

如果您的子程序是另一个成员中的另一个rexx,那将无法工作,也将无法工作。结果是单个变量,而不是主变量。
如果数组不是太大,则将其作为长字符串传递回结果,然后在调用程序中对其进行解析。
回到顶部
查看用户资料 发送私信
trushant.w

新的用户


已加入:2013年9月22日
帖子:81
地点:印度浦那

发布发表:2014年8月7日,星期四,12:03 pm
引用回复

嗨保罗

谢谢您的回复!!!

但是我如何创建一个由n个数组/词干元素组成的连接字符串,因为在这里我不能使用连接运算符(||),因为数组中的任何元素都不会变化。
回到顶部
查看用户资料 发送私信
米斯塔·库尔兹

活跃用户


已加入:2012年1月28日
帖子:310
位置:房间:TREE(3)。希尔伯特酒店

发布发表:2014年8月7日,星期四,下午12:17
引用回复

尝试这个
码:
PAS_STRING = ELEMENT.1

I = 2到ELEMENT.0
   PAS_STRING = PAS_STRING || '〜'||元素I
结束
回到顶部
查看用户资料 发送私信
trushant.w

新的用户


已加入:2013年9月22日
帖子:81
地点:印度浦那

发布发表时间:2014年8月7日,星期四,下午1:02
引用回复

嗨,女士们,

这很完美。

谢谢米斯塔和保罗
回到顶部
查看用户资料 发送私信
保罗·沃纳

新的用户


已加入:2012年11月26日
帖子:52
地点:英国

发布发表于:2014年8月7日,星期四,下午1:06
引用回复

别客气 !
也许您已经完成了此操作,但这将解析返回的字符串
码:
/ * rexx * /
轨迹R
字符串="a a a a〜bb bb bb〜c c〜d"
l =长度(string)
i = 1
当我做> 0
  p = pos('~',string)
  stem.i = left(string,p-1)
  字符串=right(string,l-p)
  l =长度(string)
  i = i + 1
结束
出口
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

发布发表:2014年8月7日,星期四,下午6:11
引用回复

那么为何不 ...
码:
字符串="a a a a〜bb bb bb〜c c〜d"
我是否= 1( 串 \= "")
   解析var字符串stem.i"~" 串
结束
茎0 =i-1
我= 1到茎0
    说i stem.i
结束
回到顶部
查看用户资料 发送私信
史蒂夫·科伯兰

新的用户


已加入:2007年2月1日
帖子:89
地点:瑞典斯德哥尔摩

发布发表:2014年8月25日星期一7:36 pm
引用回复

尝试这个。它实际上是作为教育片段而写的。
码:
/ ** REXX *(RXCALLER)*/TRACE "O"                                         
RC = BPXWDYN("ALLOC RTDDN(TDD) RTDSN(TDS) NEW REUSE UNIT(VIO)")       
IF( RC<>0 )THEN EXIT 69                                               
扭转者="Peter Piper 采摘一袋腌制的辣椒。",           
         "腌制胡椒粉  彼得·派珀  picked.",           
         "§If 彼得·派珀 采摘一盆腌辣椒,",         
         "多少个腌制辣椒  did 彼得·派珀 pick?"           
yourstem.0 =单词(twister)                                           
l = 1                                                                 
w = 1对您的词干.0                                                 
   yourstem.w=WORD(twister,w)                                         
   IF( LEFT(yourstem.w,1)="§" )THEN l = l+1                           
结束                                                                   
说w"words in" l "lines."                                           
"EXECIO" yourstem.0 "DISKW" tdd "(STEM yourstem。芬尼斯"               
呼叫RXCALLED tdd                                                     
出口 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/
                                                                       
/ ** REXX *(RXCALLED)*/ TRACE "O"                                         
ARG TDD                                                               
"EXECIO * DISKR" tdd "(STEM yourstem。芬尼斯"                         
线=""                                                             
线。 = 0                                                             
eop = yourstem.0 + 1                                                     
yourstem.eop ="§"                                                     
做w = 1                                                       
   twd = STRIP(yourstem.w)                                             
   IF( LEFT(twd,1)="§" )THEN DO                                       
      IF( LEFT(line,1)="§" )THEN                                       
         line = SUBSTR(line,2)                                         
      其他                                                         
     PARSE VALUE行0 + 1行";",                                   
             WITH t line.t ";" line 1 line.0 .                         
      结束                                                             
   ELSE NOP                                                           
   line = line||twd" "                                                 
结束                                                                   
"EXECIO" line.0 "DISKW" tdd "(STEM line. FINIS "                       
地址ISPEXEC"LMINIT 数据ID(V) DDNAME("tdd") "                     
地址ISPEXEC"VIEW   DATAID(&V) "                                   
地址ISPEXEC"LMFREE 数据ID(&V) "                                   
"FREE DD("tdd") "                                                     
出口 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

我确定您可以消除色捻处理? icon_wink.gif
回到顶部
查看用户资料 发送私信
史蒂夫·科伯兰

新的用户


已加入:2007年2月1日
帖子:89
地点:瑞典斯德哥尔摩

发布发表时间:2014年8月26日,星期二,上午10:11
引用回复

简化...

码:
/ ** REXX *(RZCALLER)*/TRACE "R"                                         
RC = BPXWDYN("ALLOC RTDDN(TDD) RTDSN(TDS) NEW REUSE UNIT(VIO)")       
IF( RC<>0 )THEN EXIT 69                                               
茎1 ="A"                                                           
stem.2 ="B"                                                           
stem.3 ="C"                                                           
stem.4 ="D"                                                           
茎5 ="E"                                                           
茎6 ="F"                                                           
茎0 ="6"                                                           
"EXECIO" stem.0 "DISKW" tdd "(STEM stem. FINIS "                       
致电RZCALLED tdd                                                     
出口 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

码:
/ ** REXX *(RZCALLED)*/ TRACE "O"                                         
ARG TDD                                                               
"EXECIO * DISKR" tdd "(STEM stem. FINIS "                             
我= 1到茎0                                                     
   SAY stem.i                                                         
结束                                                                   
出口 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>*/

icon_smile.gif
回到顶部
查看用户资料 发送私信
普里诺
警告:1

高级会员


已加入:2009年2月7日
职位:1241
地点:立陶宛维尔纽斯

发布发表:2014年8月27日,星期三,上​​午4:09
引用回复

恩里科·索里切蒂写道:
那么为何不 ...
码:
字符串="a a a a〜bb bb bb〜c c〜d"
我是否= 1( 串 \= "")
   解析var字符串stem.i"~" 串
结束
茎0 =i-1
我= 1到茎0
    说i stem.i
结束


码:

st。= 0 = 0
在字符串\ =时执行
 用?解析值st.0 + 1字符串圣?string 1 st.0 .
结束
回到顶部
查看用户资料 发送私信
马索

REXX主持人


已加入:2006年3月13日
帖子:1348
地点:以色列

发布发表:2014年8月27日,星期三2:13 pm
引用回复

普里诺写道:
码:

st。= 0 = 0
在字符串\ =时执行
 用?解析值st.0 + 1字符串圣?string 1 st.0 .
结束
喔!现在很有趣...
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

发布发表:2014年8月27日,星期三10:34 pm
引用回复

码:

#!/ usr / bin / rexx

说"original snippet"
字符串="a a a a〜bb bb bb〜c c〜d"
我是否= 1( 串 \= "")
   解析var字符串st.i"~" 串
结束
st.0 =我-1
我= 1至st.0
    说i st.i
结束
下降圣

说"prino未经修改的代码段,它将返回单词!"
字符串="a a a a〜bb bb bb〜c c〜d"
st。= 0 = 0
在字符串\ =时执行
 用?解析值st.0 + 1字符串圣?string 1 st.0 .
结束
我= 1至st.0
    说i st.i
结束
下降圣


说"prino代码段,修改后返回<strings> separated by ~"
字符串="a a a a〜bb bb bb〜c c〜d"
st。= 0 = 0
在字符串\ =时执行
 用?解析值st.0 + 1字符串圣?"~" 串 1 st.0 .
结束
我= 1至st.0
    说i st.i
结束
下降圣


回到顶部
查看用户资料 发送私信
普里诺
警告:1

高级会员


已加入:2009年2月7日
职位:1241
地点:立陶宛维尔纽斯

发布发表:2014年8月27日,星期三10:43 pm
引用回复

显然错过了那个。 icon_redface.gif icon_redface.gif icon_redface.gif
回到顶部
查看用户资料 发送私信
米奇杜莎尔

活跃用户


已加入:2006年5月24日
帖子:258
地点:俄勒冈州塞勒姆

发布发表于:2014年8月28日,星期四,上午1:56
引用回复

我= 1到element.0
队列元素
结束

呼叫子程序

子程序
element.0 =排队()

我= 1到element.0
拉元素
结束
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 清单& REXX

 


类似主题
话题 论坛 回覆
没有新帖 从REXX调用FTP的任何示例吗? 清单& REXX 1
该主题已锁定:您无法编辑帖子或回复。 将字段名称传递给COBOL程序 COBOL程式设计 10
没有新帖 从REXX调用汇编程序 PL / I和组装商 5
该主题已锁定:您无法编辑帖子或回复。 示例CICS Web服务程序 CICS 1
没有新帖 从Cobol调用Rexx程序 清单& REXX 12
搜索我们的论坛:


回到顶部