次のプログラムには2つの変数があります。
def double_this num num_times2 = num *2 puts num.to_s + 'の2倍は ' +num_times2.to_s end double_this 44実行結果
moomin:programmingRuby tomomi$ ruby method.rb 44の2倍は 88
うー教科書に掲載されている例文を翻訳できずしっくり理解できない。
- 1行目 "num" (number)が突然登場
- なんだこれ。目的はなに?
- 2行目 double_thisを "num_times2 = num *2"(=num×2)と定義した。ここオk
- 3行目 「num[文字列]の2倍は num_times2 (num×2)」と出力するように指定。ここもおk
- end
- 6行目 double_this 44
- double_this =44と書かなくてよいのか
- double_this=44と書いたら実行されなかった。アウト
- 最終行に書く。この感覚むつかしい 自分で書いたらうっかり3行目あたりに書いてしまいそう
- double_this =44と書かなくてよいのか
だいじ
>1行目 "num" (number)が突然登場
引数ですよー> double_this =44と書かなくてよいのか
メソッド呼び出しなので 44 を num に入れて渡す、という事です
「次のプログラムには2つの変数があります」と書かれていますが、次の「def double_this」は変数を定義しているのではありません。一つ前の節と同じくメソッドなのです。
「2つの変数」とは、メソッドの引数のnumと、メソッドの中に現れるnum_times2の2つのことです。引数以外にもメソッド内で新たに変数を定義し使うことができる、という例なのです。