加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 循环迭代 – 检查是否没有产生任何项目

发布时间:2020-12-17 02:45:27 所属栏目:百科 来源:网络整理
导读:我有一个功能,产生很少的项目.我正在使用它们进行迭代 my_function() do |item| ... some code here ...end 有没有一种很酷的方法来检查迭代器是否没有返回任何项目?就像是: my_function() do |item| ... some code here ...else puts "No items found"end
我有一个功能,产生很少的项目.我正在使用它们进行迭代

my_function() do |item|
  ... some code here ...
end

有没有一种很酷的方法来检查迭代器是否没有返回任何项目?就像是:

my_function() do |item|
  ... some code here ...
else
  puts "No items found"
end

解决方法

通常迭代的函数返回迭代的可枚举(例如数组).如果这样做,您可以测试此返回值是否为空:

if my_function(){ |item| … }.empty?
  puts "nothing found!"
end

当然,如果您的块在多行上,则将其写为:

items = my_function() do |item|
  # …
end
puts "Nothing found!" if items.empty?

如果你创建一个迭代的枚举并不容易或有效,那么你只需要修改你的函数以在结尾处返回一个布尔值,指示你是否迭代了任何东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读