ruby 中有each_if 吗?
假设我在 Ruby 中每个循环都有这个。
@list.each { |i|
puts i
if i > 10
break
end
}
我想循环遍历列表直到满足条件。
这让我觉得“un Ruby'ish”,而且由于我是 Ruby 新手,有没有 Ruby 方法可以做到这一点?
Let's say I have this each loop in Ruby.
@list.each { |i|
puts i
if i > 10
break
end
}
Where I want to loop through the list until a condition is met.
This stung me as "un Ruby'ish" and since I'm new to Ruby, is there a Ruby way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
Enumerable#detect
或Enumerable#take_while
,具体取决于关于你想要的结果。正如其他人所指出的,更好的风格是首先进行子选择,然后对其采取行动,例如:
You can use
Enumerable#detect
orEnumerable#take_while
, depending on the result you want.As others have noted, a better style would be to first make your sub-selection and then act on it, e.g.:
您可以使用 take_while:
You could use take_while: