Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在迭代期间了解集合中的系列_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在迭代期间了解集合中的系列

Ruby on rails 在迭代期间了解集合中的系列,ruby-on-rails,ruby,Ruby On Rails,Ruby,假设我们有以下数组: %w(apple apple apple banan orange orange tomato orange apple apple) 我可以在迭代集合时输出“这里有2个橙子”或“这是2个橙子”吗 更新 同一件物品在这个系列中可能会有更多的出现,但我关心的是这个系列——当它们属于同一种类时,有多少个是一个接一个的。您可以使用: 使用每个循环: arr.chunk { |e| e }.each { |e, a| puts "#{a.size} #{e}" } 输出: 3

假设我们有以下数组:

%w(apple apple apple banan orange orange tomato orange apple apple)
我可以在迭代集合时输出“这里有2个橙子”或“这是2个橙子”吗

更新
同一件物品在这个系列中可能会有更多的出现,但我关心的是这个系列——当它们属于同一种类时,有多少个是一个接一个的。

您可以使用:

使用
每个
循环:

arr.chunk { |e| e }.each { |e, a| puts "#{a.size} #{e}" }
输出:

3 apple
1 banan
2 orange
1 tomato
1 orange
2 apple

放“来了{array.count('orange')}个橙子”
行吗?如果不是。。你应该问得更清楚些。。看这个-哇,谢谢。如果您有时间,能否提供一个实施示例?您大约一周前提出了这个问题,但尚未选择答案。这可能是你的意图,但如果你发现@Stefan的答案很有帮助,你应该选择它。
3 apple
1 banan
2 orange
1 tomato
1 orange
2 apple