dav*_*ers 18 ruby idiomatic parentheses
array.include? 'foo' or array.include? 'bar'
Run Code Online (Sandbox Code Playgroud)
是语法错误(意外的keyword_or).圆括号解决了这个问题,但由于我是Ruby的新手,我不知道以下哪一个被认为是更惯用的:
array.include?('foo') or array.include?('bar')
Run Code Online (Sandbox Code Playgroud)
(array.include? 'foo') or (array.include? 'bar')
Run Code Online (Sandbox Code Playgroud)
这取决于个人偏好,还是一种被认为更"正确"的方法?
Boz*_*sov 25
我建议你看一下社区驱动的Ruby编码风格指南,特别是关于语法的部分.
对于作为内部DSL(例如Rake,Rails,RSpec)一部分的方法的参数,在Ruby中具有"关键字"状态的方法(例如attr_reader,puts)和属性访问方法,省略括号.在所有其他方法调用的参数周围使用括号. - 摘自导游
class Person
attr_reader :name, :age
# omitted
end
temperance = Person.new('Temperance', 30)
temperance.name
puts temperance.age
x = Math.sin(y)
array.delete(e)
Run Code Online (Sandbox Code Playgroud)