1. ホーム
  2. ルビー

[解決済み】Rubyの->演算子って何?

2022-04-07 03:53:23

質問

  1. を何と呼ぶか? -> 演算子のように?

    ->(...) do
      ...
    end
    
    
  2. 以下のスニペットは同等ではありませんか?

    succ = ->(x) {x + 1}
    succ = lambda {|x| x + 1}
    
    

どのように解決するのか?

Ruby プログラミング言語 (Methods, Procs, Lambdas, and Closures) を使って定義されたラムダを使用します。 -> という ラムダリテラル .

succ = ->(x){ x+1 }
succ.call(2)

と同等のコードになります。

succ = lambda { |x| x + 1 }
succ.call(2)

非公式に、こう呼ばれているのを聞いたことがあります。 スタビライザーラムダ または 刺繍文字 .