【学習アウトプット】
今日の目標(やること)
Ruby!
今日のまとめ
変数のスコープ
変数には、その変数が使える範囲がきまっている。
(例:メソッド内ではそのメソッド内で定義した変数)
スコープの範囲外の変数を使おうとすると、エラーが起こる。
【例】スコープの範囲内のため、正常に動作する
capital = "東京" # 首都は「東京」
puts capital
【例】スコープの範囲が違うため、エラーになる
capital = "東京" # 首都は「東京」
def america
puts capital
end
america # エラー
【例】同じ名前の変数でもスコープが違えば別の変数となる
capital = "東京" # 首都は「東京」
def america
capital = "ワシントン" # americaの首都は「ワシントン」
puts capital
end
america # => ワシントン
引数(ひきすう)
引数はメソッドの外からメソッドに渡す値
「メソッドを呼び出す部分(本引数)」と「メソッドを定義している部分(仮引数)」両方に書く
def メソッド名(仮引数)
実行する処理
end
【例】引数を用いたメソッドの実行
def multi(input)
puts input * input
end
puts "何か数字を入力してください"
input = gets.to_i
multi(input)
(メソッドmultiは、引数として渡した数を2乗した数字を出力してくれるメソッド)
()のinput
この記述により、メソッドmultiが実行される際にinputを引数として利用することが出来る。
・メソッドの中では仮引数の名前で扱うため、本引数と仮引数の名前が同じである必要はない。
・仮引数の名前は何でも良いが、誰が読んでもそれが何を指すかわかるようなネーミングを。(aやbではなく、numberやnameを使おう。)(引数が渡されたメソッドの性質によって名前を変えた方がわかりやすい場合がある。)
先ほどのメソッドの仮引数を以下のようにしても問題ない。
(仮引数の変数名をnumberに変更)
【例】仮引数の名前を変更
def multi(number)
puts number * number
end
puts "何か数字を入力してください"
input = gets.to_i
multi(input)
〜独り言(まとめやら感想やら)〜
特になし。。。