5

例えば:

options = { fight: true,
 use_item: false,
 run_away: false,
 save_game: false }

istrueのみに評価され、残りは(上図のように)あるブール式が必要です。:fighttruefalse

私はこれを一緒にハックすることができますが、よりエレガントなルビを書くために自分自身を訓練しようとしています. ありがとう!

編集:ハックは:

(options[:fight] == true && options.delete(:fight).values.all {|x| !x})

4

8 に答える 8

8

Vitaliyの答えに触発されました:

options[:flight] && options.values.one?
于 2013-05-22T19:24:51.303 に答える
1
options.find_all{|k,v| v } == [[:fight, true]]

また

options.values.count(true) == 1 && options[:fight]
于 2013-05-22T18:58:40.890 に答える
0
options.select{ |k, v| v } == [[:fight, true]]
于 2013-05-22T21:11:56.660 に答える