Ruby -> 是关键字吗?

vkill · 2012年03月29日 · 最后由 suffering 回复于 2012年03月30日 · 3001 次阅读

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

->(){} 这个看起来像是个方法 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}

需要 登录 后方可回复, 如果你还没有账号请 注册新账号