- array.include? 'foo' or array.include? 'bar'
是一个语法错误(意外的keyword_or).括号解决问题,但由于我是Ruby的新手,我不知道以下哪一个被认为是更习惯的:
选项1
- array.include?('foo') or array.include?('bar')
选项2
- (array.include? 'foo') or (array.include? 'bar')
这是否属于个人偏好,还是被认为更为“正确”的方法?
解决方法
我建议你看看
community-driven Ruby coding style guide,这里特别是
Syntax的部分.
忽略作为内部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)