2
は、だから私はTraiblazerと改革のドキュメントの上にしてきたと私は多くの場合、この種のコードこのコード例でdouble splat(**)引数は何を意味し、なぜそれを使用するのですか?
class AlbumForm < Reform::Form
collection :songs, populate_if_empty: :populate_songs! do
property :name
end
def populate_songs!(fragment:, **)
Song.find_by(name: fragment["name"]) or Song.new
end
end
お知らせdef populate_songs!(fragment:, **)
定義を参照してください?
他のすべてのキーワード引数を取り込むdouble splatという名前の引数(**others
など)をよく知っています。しかし、私は一度も**
を名前なしで見たことはありません。
だから私の2つの質問は以下のとおりです。
- **上記のブロックに何を意味するのでしょうか?
- なぜこの構文を使用しますか?
同じパターンでも、通常の引数のために働きます。 1つのスプラットパラメータは任意の引数を受け入れますが、それらを変数に代入しません。 –
@HolgerJust:はい、もちろん、言及に感謝します。 –