如何使用.any?如果数组中有字符串,则ruby中的方法返回true

时间:2016-02-27 08:46:57

标签: ruby methods block

我正在尝试创建一个any_strings?接受数组的方法,如果数组中有字符串,则返回true。例如:

a = [ 1, 2, 3, "string" ]
any_strings?(a)
#=> true

b = [ 1, 2, 3, 4 ]
any_strings?(b)
#=> false

定义any_strings?如下:

def any_strings?(a)
end

我应该使用is_a吗?方法,我对你如何使用2块方法非常困惑

2 个答案:

答案 0 :(得分:1)

不应该太难。

def any_strings?(array)
  array.any? { |element| element.is_a?(String) }
end

答案 1 :(得分:0)

这在无点样式中很容易做到:

def any_strings?(array)
  array.any?(&String.method(:===))
end