【发布时间】:2016-01-25 16:29:20
【问题描述】:
在 Ruby 中,是否有优先选择要省略的括号级别,还是取决于情况(在这种情况下,应遵循哪些准则)?来源表示赞赏。
例如,要么是
do_something do_something_else(...)
或
do_something(do_something_else ...)
比别人好?
【问题讨论】:
标签: ruby syntax coding-style
在 Ruby 中,是否有优先选择要省略的括号级别,还是取决于情况(在这种情况下,应遵循哪些准则)?来源表示赞赏。
例如,要么是
do_something do_something_else(...)
或
do_something(do_something_else ...)
比别人好?
【问题讨论】:
标签: ruby syntax coding-style
您需要一个规则来决定何时省略括号,何时不省略。那应该基于方法。 (根据上下文建立规则很麻烦,即总是省略最里面的括号,或者总是省略最外面的括号等等。)
还有一些方法通常只在最外层使用(即,不成为另一个方法调用的参数),而不是只出现在最内层的没有/很少的方法。前者的典型例子是 DSL 方法(像puts、p 等传统上不带括号使用的方法可以认为是 Ruby 本身提供的 DSL 的一部分)。
一旦您决定将规则建立在方法是什么的基础上,那么您自然会省略出现在特定方法中的最外层括号。
【讨论】:
这是一个主要基于意见的问题,但当出现与风格相关的问题时,Ruby Style Guide 是一个很好的(最好的?)参考。
【讨论】:
假设它应该与测试中的assert 和looking at way asserts are used in Rails tests 的其余部分一致(即没有括号),它将易于使用
assert method(param1, param2, etc)
【讨论】:
assert 只是一个例子。我会澄清这个问题。