1

重複の可能性:
Ruby で &: 演算子を何と呼びますか?

「.map(&:chomp)」が常に表示されます

chomp と map が何をするかは知っていますが、&: が何をするかを知りたいのですが、30 分間グーグル検索しても Web 上で見つからない理由を知りたいです.....

4

1 に答える 1

5

それSymbol#to_procはであり、シンボルをその引数で指定されたメソッドを呼び出そうとするprocに変換し、結果を返します。

x = :reverse.to_proc

x.call("asdf") # "fdsa", like calling "asdf".reverse

あなたの場合、.map(&:chomp)はと同等.map { |x| x.chomp }です。

グーグルで見つけられない場合は、グーグルで間違っていることが原因です。これはよく知られているRubyイディオムです。

于 2013-01-10T03:17:48.720 に答える