例如:
options = { fight: true,
use_item: false,
run_away: false,
save_game: false }
我想要一个计算结果为 true
的 bool 表达式,当且仅当 :fight
为 true
,其余为 false
(如上图所示)。
我可以一起解决这个问题,但我正在努力训练自己编写更优雅的 ruby。谢谢!
编辑:黑客是:
(options[:fight] == true && options.delete(:fight).values.all {|x| !x})
最佳答案
假设所有值都是严格的 bool 值,它很简单:
options == {fight: true, use_item: false, run_away: false, save_game: false}
关于ruby - 如果哈希中只有一个特定键具有真值(所有其他值均为假),如何返回真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699531/