Ruby 将“any”和“include”的结果推送到数组中

Ruby 将“any”和“include”的结果推送到数组中,ruby,Ruby,这: 产出: arry = %w[cat dog fish] arry.any? {|s| pp s.include?('sh')} 当我尝试通过这样做将元素推入数组时 false false true 只推送一个元素。不知道为什么我不能从包含中推送结果?排列成一个数组 如何将所有结果放入数组?一旦块返回truthy值,将立即退出 我不确定你为什么会用任何一种?对于这个用例,但是发生的是:在第一次迭代中,块返回一个真实的数组 将每个_与_对象一起使用,甚至使用简单贴图: 块返回truthy值

这:

产出:

arry = %w[cat dog fish]
arry.any? {|s| pp s.include?('sh')}
当我尝试通过这样做将元素推入数组时

false
false
true
只推送一个元素。不知道为什么我不能从包含中推送结果?排列成一个数组

如何将所有结果放入数组?

一旦块返回truthy值,将立即退出

我不确定你为什么会用任何一种?对于这个用例,但是发生的是:在第一次迭代中,块返回一个真实的数组

将每个_与_对象一起使用,甚至使用简单贴图:

块返回truthy值后立即退出

我不确定你为什么会用任何一种?对于这个用例,但是发生的是:在第一次迭代中,块返回一个真实的数组

将每个_与_对象一起使用,甚至使用简单贴图:

tester = []
arry = %w[cat dog fish]
arry.any? {|s| tester << s.include?('sh')}

pp tester
[false]
arry.each_with_object([]) { |s, tester| tester << s.include?('sh') }
arry.map { |s| s.include?('sh') }
arry.map(&/sh/.method(:!~)).map(&:!)