Ruby 原来 { .. } 和 do .. end 是不一样的...

blacktulip · 2014年06月25日 · 最后由 itomato 回复于 2014年06月26日 · 2881 次阅读

我一直以为是等价的,但其实不一样

这个括号坑在用 form helper 的时候遇到过 :)

#1 楼 @billy 麻烦详细说说具体情况是怎么回事吧,让看到的人不要再踩坑..

@blacktulip 我想你都说的很详细了。具体的例子我记得不是很清楚了,类似这个

= simple_form_for(User.new,\
  html: {class: "form-horizontal", id: "user_sign_in"},\
  validate: true) do |f|

不确定这段代码没有加括号会不会出问题,总之我在这里碰到过问题,所以后来所有的form_fordo之间都加上括号。

块是多行的时候我也用大括号,目前没遇到问题,以后注意

运算符优先级这种问题,不确定时多写个括号就好了。人生还有许多其他美好的事情。

优先级不同。。。推荐大家看这本书 http://www.manning.com/black3/

那当然,就和 and, && 的区别一样,都是为了省括号费尽心思

学习了。之前一直以为是等价的。

Programing Ruby 中重点介绍了的啊。。。

只是 parse 时不一样吧

记得第一次看 ruby 的书时,好像说是等价的,原来不是啊

ruby 这方面属于吃饱饭没事做。

我总是习惯加上括号,感觉清晰一些。毕竟程序是给人看的。

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