关于leave的问题

发布于 2022-08-27 17:43:20 字数 3148 浏览 11 评论 9

在学习的时候,又说道用DOW 1=1 实现,然后用leave来退出,我想问一下,是不是一出现if就需要leave(break)呢?leave的作用域是跟着leave么,例如:
                            MOVE   X           MAX
                           DOW 1=1
                                          IF       X>1 AND X>Y
                                          MOVE  X            MAX
                                          LEAVE
                                          ELSE IF X>1 AND  X<Y
                                          MOVE  Y             MAX
                                          LEAVE
                                          ELSE
                                          SETON                                             LR
                                          RETURN
                                          LEAVE
                                          ENDIF
                                          ENDDO

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

铃予 2022-09-05 06:08:25

他那个只是举个例子而已,而且是乱用,又RETURN又LEAVE的.....

其实这些问某个操作码什么什么用法,自己翻翻IBM的reference就知道的,而且解释详尽,用法,示例齐全

看这里的人都不去看,非要等别人翻出来给他看

至于循环中用LEAVE,一个明显的好处就是逻辑清晰,爱不爱用看个人

万水千山粽是情ミ 2022-09-05 06:08:24

1楼的程序有问题,
leave只针对于DO,与其他的IF,BEGSR,SELEC都没关系。
我一般这么写。
KEY01  SETLLFILER1
            DO   *HIVAL
KEY01  READEFILER1           60
*IN60  IFEQ '1'
            LEAVE
            ENDIF
            ...
            ENDDO

梦开始←不甜 2022-09-05 06:08:20

....我问的是leave的问题呢,看重点啊,不过谢谢你.

毁梦 2022-09-05 06:08:19

DOW 1=1
.....
enddo
是最差的代码。

按照一楼的代码逻辑,可以不用do语句去掉do/enddo/leave,直接用if的内容。

伤痕我心 2022-09-05 06:00:48

I see.Thanks a lot!

身边 2022-09-05 04:49:54

The Leave (LEAVE) command ends the processing of commands in the associated DOWHILE, DOUNTIL, or DOFOR loop and passes control to the first command following the associated ENDDO command.
沒錯

月下凄凉 2022-09-04 19:35:02

我记得,在“胖有型”的资料里有写到,用DOW 1=1,然后leave来实现何时退出循环,就不需要考虑逻辑了啊,这样不是也需要回头想想何时退出循环么?leave 的作用域是对应do的么,即使leave出现在嵌套的if里面?

独夜无伴 2022-09-01 18:11:07

leave是退出当前循环,不是一出现IF就leave,而是看你的条件是怎么弄的:
什么情况下要退出当前循环?

注意不要制造死循环

偷得浮生 2022-09-01 16:20:32

还有,请问各位大侠,有上面好办法来代替一下指示器么,指示器说真的,不好用哦.别人写的用指示器来触发条件的真难找啊...而且又是用movea来就更加找不到,能像C一样用bull函数来代替么,真值(true or false),谢谢!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文