Как проще всего узнать, есть ли в хэше верное утверждение? - PullRequest
0 голосов
/ 01 ноября 2011

Если у меня есть этот хэш:

{:thursday=>false, :friday=>false, :monday=>false, :saturday=>false, :sunday=>false, :tuesday=>false, :wednesday=>false}

Какой самый простой и легкий способ определить, являются ли какие-либо из них истинными

1 Ответ

5 голосов
/ 01 ноября 2011

, если вы ищете "чистый" true, используйте

hash.has_value?( true )

, иначе используйте что-то вроде этого

hash.detect{|key,value| value }  
# or
hash.detect{|key,value| !!value } 
# or even
if_nil = Proc.new{ "this will be called if no matching value is found" }
hash.detect( if_nil ) {|key,value| !!value }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...