在ruby中,是否有任何方法可以根据当前值在两个值之间更改变量的值? 我需要这样的东西:
var = 'value one'
var.flip('value one', 'value two')
puts var # => 'value two'
因此,当我致电.flip
时,它会将var
的值更改为'value two'
,因为var
的当前值为'value one'
答案 0 :(得分:3)
您可以使用cycle
枚举器:
values = ['value one', 'value two'].cycle
#=> #<Enumerator: ["value one", "value two"]:cycle>
并致电next
以循环显示值:
var = values.next
#=> "value one"
var = values.next
#=> "value two"
var = values.next
#=> "value one"
答案 1 :(得分:1)
我认为您可以使用ruby三元运算符或if - else结构,如此
var1 = 2
var1 = 3 == var1 ? var1 : 2
或
irb(main):049:0> var1 = if 4 == var1 then var1 else 2 end
=> 4
i