我有一个具有以下值的变量:
blah = # 1, 0, or -1
Run Code Online (Sandbox Code Playgroud)
现在我想设置这两个变量:
up
down
Run Code Online (Sandbox Code Playgroud)
基于'blah'的值为1或0.
如果blah为1,则up = 1且down = 0,如果blah为-1,则down = 1且up = 0
如果blah为0,则两者都为0.
你怎么能用红宝石的方式做这么多的检查呢?
解决方案1
up, down =
case blah
when 1; [1, 0]
when 0; [0, 0]
when -1; [0, 1]
end
Run Code Online (Sandbox Code Playgroud)
解决方案2(灵感来自mu太短)
up, down = [[0, 0], [1, 0], [0, 1]][blah]
Run Code Online (Sandbox Code Playgroud)