首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >cattr_accessor默认值语法

cattr_accessor默认值语法
EN

Stack Overflow用户
提问于 2013-05-03 00:44:31
回答 1查看 1.1K关注 0票数 2

我有点恼火为什么会这样:

代码语言:javascript
代码运行次数:0
运行
复制
cattr_accessor :aggregate { true }

失败,并显示以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
syntax error, unexpected '{', expecting keyword_end
  cattr_accessor :aggregate { true }
                            ^

虽然完全一样,使用do/end似乎做了正确的事情:

代码语言:javascript
代码运行次数:0
运行
复制
cattr_accessor :aggregate do true end

(但这太冗长了;)

来源:http://api.rubyonrails.org/classes/Class.html#method-i-cattr_writer,考虑到我必须在这上面花费的时间,这有点太残酷了。有什么想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-03 01:05:19

这不就是遵循语言绑定的优先顺序吗?

如果调用没有使用括号,

  • 大括号表单具有较高的优先级,并且将绑定到最后一个参数。
  • do/end表单具有较低的优先级,即使没有括号,也将绑定到调用。

如果您不想编写do end表单,则需要在调用过程中使用括号。

代码语言:javascript
代码运行次数:0
运行
复制
cattr_accessor(:is_admin) { true }
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16343419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档