Ruby RuboCop在使用';Hash.new';
RuboCop抱怨我使用了Ruby RuboCop在使用';Hash.new';,ruby,rubocop,Ruby,Rubocop,RuboCop抱怨我使用了Hash.new,并建议我改用Hash文本。有没有办法让rubocp忽略Hash.new的使用?更具体地说,我是否可以编辑我的.rubocp.yml配置,以允许使用散列.new,而不引起任何投诉?您可以在rubocp.yml文件中禁用cop: # .rubocop.yml Style: EmptyLiteral: false 或者,如果您只想忽略某一行: hsh = Hash.new # rubocop:disable Style/EmptyLiteral 根据
Hash.new
,并建议我改用Hash文本。有没有办法让rubocp忽略Hash.new的使用?更具体地说,我是否可以编辑我的.rubocp.yml
配置,以允许使用散列.new
,而不引起任何投诉?您可以在rubocp.yml文件中禁用cop:
# .rubocop.yml
Style:
EmptyLiteral: false
或者,如果您只想忽略某一行:
hsh = Hash.new # rubocop:disable Style/EmptyLiteral
根据字面数组和散列创建符号是首选的,除非您需要将参数传递给它们的构造函数。因此,要遵循指南,您应该使用hash={}
而不是hash=hash.new
我将遵循指南中的约定,但如果您不希望,您可以禁用,对于任何其他cop,无论是本地还是全球
全球地
添加到您的rubocop.yml
文件:
Style:
EmptyLiteral: false
局部
或单行的短版本:
hash = Hash.new # rubocop:disable Style/EmptyLiteral
有关如何配置Rubocop的更多信息,请检查。为什么要使用Hash.new?我对Ruby相当陌生,但据我所知,{}和Hash.new都提供相同的功能。如果有意义的话,我只是选择更美观的解决方案。
hash = Hash.new # rubocop:disable Style/EmptyLiteral