查看: 3339|回复: 10

[已经解决] [已解决]循环判断标记如何用?

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-10-23 13:31:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 miantouchi 于 2019-10-24 06:58 编辑

打个比方,我想让一个循环只执行一次,我想用标记,但是不会,总是报错
FLUG = 1
循环开始
    if a == 1 && FLUG == 1
        p "1"
        FLUG = 2
   else
        p "2"
   end
循环结束

其实我就是想要一个结果,1222222222222222222.。。。。。
如果这个条件只执行一次,剩下的次数都是执行else里面
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-10-23 13:50:54 | 显示全部楼层
大写开头的变量是常量..常量不能被2次赋值..所以你这个在FLUG = 2时会报错..

点评

好的,你说出了我的标记方法,还有什么办法,让代码只执行一遍吗?  发表于 2019-10-23 13:59

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3242
在线时间
205 小时
注册时间
2019-9-16
回帖
195
发表于 2019-10-23 14:06:55 | 显示全部楼层
这还不简单吗?加一个break跳出循环就行了。

点评

大哥……你把他放在循环尾部,不就执行一次了吗?执行完后再if判断就是  发表于 2019-10-23 14:22
满足就跳出了,那还怎么执行一次?  发表于 2019-10-23 14:21
编程这门学问自由度特别高,所以要懂得举一反三才行……  发表于 2019-10-23 14:18
你把break加到if的下面啊,满足条件才跳出循环  发表于 2019-10-23 14:17
加break,每次都能执行后退出。要的是如果成立,只执行一次。  发表于 2019-10-23 14:15

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-10-23 14:45:31 | 显示全部楼层
a = 1
loop do
   if a == 1
     p 1
     a = 2
     next
   end
   p 2
end

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
10
星屑
39550
在线时间
1919 小时
注册时间
2010-11-14
回帖
3214

R考场第七期纪念奖

发表于 2019-10-23 18:20:12 | 显示全部楼层
ruby没有C式do...while的语法,替代方案有两个

1.
[pre lang="ruby"]loop do
  循环体
  break
end[/pre]

2.
[pre lang="ruby"]begin
  循环体
end while false[/pre]

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
miantouchi + 1 认可答案

查看全部评分

用头画头像,用脚写脚本
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部