FC2ブログ

ruby のメソッドの引数、返り値について

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 で画面表示されている

返り値と引数については
他の言語でも多々使うため
一回覚えると学習効率がよくなる
スポンサーサイト



テーマ : プログラミング
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック