在Ruby方法中编写括号的正确方法?

时间:2013-03-20 22:54:41

标签: ruby coding-style

在Ruby方法中编写括号的“可接受”或“正确”方法是什么?

像:

puts doc.instance_of?( self.class.superclass.class )

或:

puts doc.instance_of? ( self.class.superclass.class )

或:

puts doc.instance_of? (self.class.superclass.class)

或:

puts doc.instance_of?(self.class.superclass.class)

2 个答案:

答案 0 :(得分:3)

2和3是错误的(参见@ muistooshort的评论)。

在1到4之间,只需选择一个样式指南并坚持下去。一致性是最重要的。我对这个建议1并且个人觉得它看起来更干净的人感到满意:

https://github.com/styleguide/ruby

以下是使用可选的第二个参数的方法打破2的示例:

def f(x, y=1) x + y end

f(1,2) # 3

f(1) # 2

f (1, 2) # syntax error

f (1), 2 # 3!

答案 1 :(得分:-2)

您甚至可以在Ruby中省略括号,就像在所有示例中省略puts的括号一样。这是“常用方式”,除非您有复杂的表达式或优先级问题。

puts doc.instance_of? self.class.superclass.class