在true和false之间切换变量的最佳方法是什么?一个明显的方法是初始化一个变量foo:
true
false
foo
foo = false
并做到:
foo = foo.!
每次我想切换的时候但是当变量名很长时,这就变得冗长了。有没有更简单的方法来做到这一点(通过使用任何东西,如语法糖,原始类)?特别是,我想知道是否有一种方法可以通过给它一个单一的方法来切换:
foo.some_method
i7uaboj41#
可以使用XOR运算符。
foo ^= true
foo = false foo ^= true # => true foo ^= true # => false
u4vypkhs2#
module Fickle refine TrueClass do def toggle! false end end refine FalseClass do def toggle! true end end end using Fickle a = true.toggle! puts a # Output: false b = false.toggle! puts b # Output: true
2条答案
按热度按时间i7uaboj41#
可以使用XOR运算符。
u4vypkhs2#