Rubyのreturnなしの戻り値
今回はRubyの戻り値をやります。
Rubyの戻り値も独特な処理があります。
【コード】
#returnと戻り値
def price(age)
if age >= 20
return "大人料金"
else
return
end
end
res = price(20)
p res
【解説】
基本的な処理です。
これは20以上なら大人料金と出力される処理です。
if age >= 20でage変数に20が入れば比較演算子>= は以上なのでres = price(20)で20が入るので大人料金となります。
【コード】
#暗黙的な戻り値
①
def calc(i)
i = i + 2
end
p calc(1)
②
def calc(i)
i = i + 2
i
end
p calc(1)
③
def calc(i)
i + 2
end
p calc(1)
【解説】
暗黙の戻り値といわれこれはreturnを省略できます。
①から③のコードは全て3と出力されますが処理の仕方が違います。
①はp calc(1)でこの値1が引数iに代入されて
i = i + 2でiと2を足して3となります。
def price(age)
if age >= 20
"大人料金"
end
end
res = price(20)
p res
最初に書いたコードもreturnなしで書けます。
【結論】
Ruby独特なreturn無しの戻り値にいかに慣れるかが重要です。
書き方が
def 変数(引数)
処理
end
p変数(引数)
です。
他のPythonなどに慣れてるとなかなか大変だが慣れればスッキリしたコードが書け簡潔で分かりやすくなります。
是非とも慣れましょう。
取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com