プログラミングの勉強日記
2020年7月10日 Progate Lv.165
RubyⅢ
メソッドとは
複数の処理を1つにまとめたもの。def メソッド名
とend
の間にまとめたい処理を書くことでメソッドを作成できる(=定義する)。
メソッドの呼び出しはメソッド名を書くことで行う。
def introduce
puts "Hello World"
end
# メソッドの呼び出し
introduce
Hello World
引数
引数はメソッドに与える情報追加みたいなもの。def メソッド名(引数)
で引数の指定ができる。引数を渡してメソッドを呼び出すにはメソッド名(値)
とする。
def introduce(name)
puts "こんにちは"
puts "#{name}です"
end
introduce("田中")
introduce("山本")
こんにちは
田中です
こんにちは
山本です
※引数のあるメソッドでは引数を渡さないと呼び出せない
複数の引数
括弧の中に受け取る引数をコンマ,
で区切って並べることで複数の引数を使える。左から順番に第1引数、第2引数という。
def introduce(name, age)
puts "#{name}です"
puts "#{age}歳です"
end
introduce("田中",17)
メソッドのスコープ
スコープはその変数が使える範囲のこと。メソッドを定義するときに用意した引数はそのメソッドの中(def~end)でしか使えない。メソッドの中で定義した変数もそのメソッドの中(def~end)でしか使えない。
戻り値
呼び出し元で受け取る処理結果を戻り値といい、このことを「メソッドが戻り値を返す」という。メソッドの中でreturn
を使うことで、呼び出しもとで値を受け取れる。
returnは戻り値を返すだけでなく、メソッドを終了させる性質も持つ。
def add(a, b)
#a+bの値が戻り値として呼び出し元に戻る
return a+b
end
sum=add(1, 3)
puts sum
4
戻り値は真偽値を返すこともできる。この場合、メソッド名の末尾に?
をつける。
def negative?(number)
return number<0
end
puts negative?(5)
false
キーワード引数
引数の値が多くなると、呼び出し側で分かりにくくなってしまうので、キーワード引数で呼び出し側で引数を明記する。
通常のメソッドに加えて、①定数側で引数の後にコロンを付ける、②呼び出し側で値の前に引数名を書く。この2点をすることで、キーワード引数を持つメソッドを書ける。
def introduce(name:, age:, height:)
puts "私は#{name}です"
puts "#{age}歳です"
puts "身長は#{height}cmです"
end
introduce(name:"田中", age:17, height:176)
私は田中です
17歳です
176㎝です