配列
最も簡単な方法はArrayを返すことです:
def my1
@qnt = 2
@price = 1
[ @price, @qnt ]
end
price, quantity = my1
ハッシュ
しかし、 Hashを返すこともできます:
def my1
@qnt = 2
@price = 1
{ :quantity => @qnt, :price = @price
end
return_value = my1
price = return_value[:price]
quantity = return_value[:quantity]
# or
price, quantity = [ return_value[:price], return_value[:quantity] ]
カスタムクラス
またはカスタム クラス:
class ValueHolder
attr_reader :quantity, :price
def initialize(quantity, price)
@quantity = quantity
@price = price
end
end
def my1
@qnt = 2
@price = 1
ValueHolder.new(@qnt, @price)
end
value_holder = my1
price = value_holder.price
quantity = value_holder.quantity
# or
price, quantity = [ value_holder.price, value_holder.quantity ]
OpenStruct
Sergioが言及したように、 OpenStructを使用できます。