Ruby 2.7がリリースされましたが、これには次のような新しい警告が含まれています。「位置引数とキーワード引数の分離」(彼らのリリース投稿)。いろいろ試していたら、理解できない別の警告があることに気付きました。
例:
def multiply(x:, y:)
x * y
end
args = { x: 2, y: 3 }
multiply(args)
# ./warning.rb:7: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
# ./warning.rb:1: warning: The called method `multiply' is defined here
廃止に関する最初の警告は明確だと思いますが、2 番目の警告はThe called method `multiply' is defined here
私にはわかりにくいです。
2 番目の警告は何を意味しますか? 最初の警告と関連していますか?
**
呼び出しに追加すると、両方の警告が消えます( multiply(**args)
)。
ベストアンサー1
2 番目の警告は何を意味しますか? 最初の警告と関連していますか?
2 行に分割されたテキストを含む単一の警告があります。文字通り次のように書かれています。args
に変換する必要があります**args
。この警告を生成した呼び出しは次のとおりです。便宜上、その定義を以下に示します。。