我有以下代码:i ? "x" : "y"但是我不想只返回"x"或"y",而是要设置i为true或false.i ? ("x"; i = false) : ("y"; i = true)但不起作用.
(i ? "x" : "y").tap{i = !i}
Run Code Online (Sandbox Code Playgroud)
要么
(i = !i) ? "y" : "x"
Run Code Online (Sandbox Code Playgroud)
但如果这是一个XY情况(我不在这里写"XY问题",因为OP没有问任何问题),那么这可能更优雅:
letter = ["x", "y"].cycle
letter.next #=> "x"
letter.next #=> "y"
letter.next #=> "x"
letter.next #=> "y"
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |