从一个方法返回两个或更多值

问题描述:

有没有可能从方法返回多个值?像这样:

Is there any possibility to return multiple values from method? Something like this:

def someMethod()
  return ["a", 10, SomeObject.new]
end

[a, b, c] = someMethod

def sumdiff(x, y)
  return x+y, x-y
end
#=> nil

sumdiff(3, 4)
#=> [7, -1]

a = sumdiff(3,4)
#=> [7, -1]
a
#=> [7, -1]

a,b=sumdiff(3,4)
#=> [7, -1]
a
#=> 7
b
#=> -1

a,b,c=sumdiff(3,4)
#=> [7, -1]
a
#=> 7
b
#=> -1
c
#=> nil