每当我交换数组中的值时,我都会确保将其中一个值存储在引用变量中。但是我发现Ruby可以返回两个值,也可以自动交换两个值。例如,
array = [1, 3, 5 , 6 ,7]
array[0], array[1] = array[1] , array[0] #=> [3, 1]
我想知道Ruby是怎么做到的。
发布于 2017-01-21 09:30:07
如果只有几个值,则数组是一个很好的选择。如果您想要多个返回值,而不必知道结果的顺序(并且不知道结果的顺序),另一种方法是返回一个包含您想要的任何命名值的Hash。
例如:
def make_hash
x = 1
y = 2
{x: x, y: y}
end
hash = make_hash
# => {:x=>1, :y=>2}
hash[:x]
# => 1
hash[:y]
# => 2
https://stackoverflow.com/questions/28725500
复制相似问题