1. ホーム
  2. ruby

[解決済み] メソッドから2つ以上の値を返す

2022-11-09 17:22:12

質問

メソッドから複数の値を返すことは可能でしょうか? このようなものです。

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