私のモジュールでは、という名前のではなく、という異なる数の引数を持つ2つの関数を定義しました。。別の関数で関数を呼び出すと、不明な引数がある
module MyMod
def self.doTask(name:, age:)
doTask(name: "John", age: 30, career: "Teacher")
end
def self.doTask(name:, age:, career:)
puts "name:#{name}, age:#{age}, career:#{career}"
end
end
あなたがdoTask
では、上記参照したように、私はちょうどdoTask
を呼び出します。他のRubyファイルで
、私はでdoTask
を呼び出す:
MyMod.doTask(name:"Kate", age: 28)
しかし、私はランタイムエラーを取得:
unknown keyword: career (ArgumentError)
なぜ?
このメソッドを呼び出すときには、実際には引数として1つのハッシュを渡しているだけです。 –
@ sagarpandya82 no。これはキーワードの引数です。 https://robots.thoughtbot.com/ruby-2-keyword-arguments –
@pascalbetzああ、ありがとう。 –