ruby のメソッドの引数、返り値について
def で設定したユーザ関数の引数は
2つにすることもできる
def sing(word=”uryyy!”)
puts word + word + word +”-”
end
sing()
sing(“hu”)
へ繰り返し処理を追加するには
def sing(word=”uryy!”, num=1)
for i in 1..num do
print word
end
puts “-”
end
というように
num を引数に追加して
for で繰り返す数値に利用している
1,,num とすれば
1~numで指定した回数という条件にできる
これを関数で使うには
sing()
とか
sing(“good!!”,2)
というように繰り返し回数を引数で指定する
実行すると
uryyy!-
huhuhuhuhuhuhuhuhuhu-
というように繰り返し表示される
次に、メソッドの返り値について
ここまでは関数の結果を画面表示したけど
結果を変数に格納することができる
この格納することで、後で代入して表示したり
計算に使ったりと様々な応用ができる
今回はソースを変えて
返り値を表示するようにした
def sing(word=”uryyy!”,num=1)
s =””
for i in 1..num do
s += word
end
s += “-”
return s
end
res = sing(“hu”,10)
puts res
この結果は
huhuhuhuhuhuhuhuhuhu-
となる
まず、 s=”” で変数を空文字で初期化
for ループの中で
s += word
により、指定したループ回数だけ文字が += により
追加されていく
今回なら
最初は
hu
だけど
hu
huhuhu
というように
+= で追加されていく
最後に for ループを抜けたら
s += “-”
で文字列の一番後ろに – がついて
huhuhuhuhuhuhuhuhuhu-
となっている
return s は結果を格納した変数
これが関係しているのが
res = sing(“hu”,10)
通常、この結果は画面にでてくるけど
res = になっているので結果は
res に格納され、
puts s で画面表示されている
返り値と引数については
他の言語でも多々使うため
一回覚えると学習効率がよくなる