2016-02-27 14 views
-1

我想創建一個any_strings?方法,該方法接受一個數組,並在數組中存在字符串時返回true。例如:如何使用.any?方法在ruby中返回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

什麼是你的問題?您是否閱讀過['any?'](http://ruby-doc.org/core-2.3.0/Enumerable.html#method-i-any-3F)方法的文檔? –

回答

1

不應該太難。

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

這是相當容易自由點式做:

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

我很好奇你是否會在生產代碼中使用這個例子,或者你爲了教育而顯示它?在這種情況下,我發現......呃......指出......風格更易於閱讀。 –

相關問題