新手问题 经常看到 Ruby 有不同于其他语言的写法

jossjoss54 · 2014年11月15日 · 最后由 jcd 回复于 2014年11月16日 · 1596 次阅读

我经常看到有这种写法 |x|x +1 都搞不懂这种写法的意思 因为有||这种符号 也查不出啥子意思

你这个例子说的不太清楚,最好能贴出一个完整一点的例子。| 这个有或的含义,具体情况具体分析

有点类似于其他语言里的 lambda 表达式,而 | | 之间的则是参数。 比如 C# LINQ 里你可以这样写 Array.Where(p => p.Name == 'Jon') 换做 Ruby 就是 array.select { |p| p.name == 'Jon' }

可以用 lambda 代替。

func = -> (a,b) { puts "do sth. with a and b" }

xxx.each(&func) 其他类似。

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