Ruby -> 是关键字吗?

vkill · March 29, 2012 · Last by suffering replied at March 30, 2012 · 3001 hits

在看书做笔记,提到了非操作符 () [] {} . :: 等等这些,忽然想起来 -> 算不算关键字?

->(){} 这个看起来像是个方法 Kernel#-> ?

但是方法名里不能有两个这种特殊符号,所以求解?

不是关键字,不是方法

就是一个 token,跟 foo(args) 里的、%w这些东西一样,不是关键字,也不是方法

关键字是形式上可以做变量名,但是系统保留了,不让你用来做变量名的 token ->根本形式上都不可做变量名,无所谓关键字

->(){} 这个是 1.9 的 lambda 吧

#6 楼 @bluecoda 同意,是新的 lambda 语法。

ruby 1.9.x 里:p = ->(x){ x + 1}等同于p = lambda {|x| x+ 1}

You need to Sign in before reply, if you don't have an account, please Sign up first.