你叫什么 ->Ruby 中的运算符? [英] What do you call the -> operator in Ruby?

查看:54
本文介绍了你叫什么 ->Ruby 中的运算符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  1. 您如何称呼下面的 -> 运算符?

->(...) do
  ...
end

  • 下面的片段是不是等价的?

  • Aren't the following snippets equivalent?

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

  • 推荐答案

    Ruby 编程语言(方法、过程、Lambdas 和闭包")中,使用 -> 定义的 lambda; 被称为 lambda 文字.

    In Ruby Programming Language ("Methods, Procs, Lambdas, and Closures"), a lambda defined using -> is called lambda literal.

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

    代码等价于以下代码.

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

    非正式地,我听说它被称为 stabby lambdastabby literal.

    Informally, I have heard it being called stabby lambda or stabby literal.

    这篇关于你叫什么 ->Ruby 中的运算符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆