Ruby RuboCop在使用';Hash.new';

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 根据

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={}
而不是
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