メソッドの引数
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 49/88。
メソッドは、入力を受け取ることができるようになると、より強力になります。パラメータを使用すると、メソッドにデータを渡すことができ、さまざまな状況に対して柔軟で再利用可能になります。
パラメータを追加するには、メソッド名の後の括弧の中に記述します:
def greet(name)
puts "Hello, #{name}!"
end
greet("Alice") # 出力: Hello, Alice!
greet("Bob") # 出力: Hello, Bob!パラメータnameは、メソッド内では変数のようになります。greet("Alice")を呼び出すと、その呼び出しに対して値"Alice"がnameに割り当てられます。
メソッドは、カンマで区切られた複数のパラメータを受け取ることができます:
def add(a, b)
puts a + b
end
add(5, 3) # 出力: 8
add(10, 7) # 出力: 17順序が重要です。最初の引数は最初のパラメータに、2番目の引数は2番目のパラメータに、といった具合に渡されます。メソッドが期待する引数の数と正確に一致させる必要があります。そうしないと、Rubyはエラーを発生させます。
チャレンジ
簡単introduce という名前のメソッドを定義してください。このメソッドは name と age という2つの引数を取ります。メソッドは以下の形式でメッセージを出力する必要があります:
My name is [name] and I am [age] years old.2つの入力を読み取ります:
- 名前を表す文字列
- 年齢を表す整数
メソッドを定義した後、入力値を使用してそのメソッドを呼び出してください。
例えば、入力が Alice と 25 の場合、出力は以下のようになります:
My name is Alice and I am 25 years old.入力が Bob と 30 の場合、出力は以下のようになります:
My name is Bob and I am 30 years old.チートシート
メソッドは、柔軟性と再利用性を高めるためにパラメータを受け取ることができます。パラメータは、メソッド名の後の括弧内に記述します。
def greet(name)
puts "Hello, #{name}!"
end
greet("Alice") # 出力: Hello, Alice!パラメータはメソッド内では変数の役割を果たします。メソッドを呼び出す際、引数の値がパラメータに代入されます。
メソッドは、カンマで区切ることで複数のパラメータを受け取ることができます。
def add(a, b)
puts a + b
end
add(5, 3) # 出力: 8引数の順序は重要です。最初の引数は最初のパラメータに、2番目の引数は2番目のパラメータに、といった具合に渡されます。メソッドが期待する引数の数と正確に一致させる必要があります。
自分で試してみよう
# 入力を読み込む
name = gets.chomp
age = gets.chomp.to_i
# TODO: 以下にintroduceメソッドを定義する
# 入力値を使用してメソッドを呼び出す
introduce(name, age)このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。