在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)
答案 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