在两个值之间更改变量的值

时间:2016-05-22 20:27:15

标签: ruby

在ruby中,是否有任何方法可以根据当前值在两个值之间更改变量的值? 我需要这样的东西:

var = 'value one'
var.flip('value one', 'value two')
puts var # => 'value two' 

因此,当我致电.flip时,它会将var的值更改为'value two',因为var的当前值为'value one'

2 个答案:

答案 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