RuboCop 在使用 'Hash.new' 时抱怨
RuboCop complains when using 'Hash.new'
RuboCop 在我使用 Hash.new
时抱怨,并建议我改为使用哈希文字。有没有办法让 RuboCop 忽略 Hash.new
的使用?更具体地说,我可以编辑我的 .rubocop.yml
配置以允许使用 Hash.new
而不提出任何投诉吗?
您可以在 rubocop.yml 文件中禁用 Rubocop::Cop::Style::EmptyLiteral
cop:
# .rubocop.yml
Style:
EmptyLiteral: false
或者如果您只想忽略某一行:
hsh = Hash.new # rubocop:disable Style/EmptyLiteral
根据 Ruby Style Guide 文字数组和散列创建符号是首选,除非您需要将参数传递给它们的构造函数。因此,要遵循指南,您应该使用 hash = {}
而不是 hash = Hash.new
.
我会遵循指南中的约定,但如果您不想,您可以禁用 Style/EmptyLiteral cop,就像本地或全局的任何其他警察一样。
全球
添加给你的rubocop.yml
文件:
Style:
EmptyLiteral: false
本地
# rubocop:disable Style/EmptyLiteral
hash = Hash.new
# rubocop:enable Style/EmptyLiteral
或单行的简短版本:
hash = Hash.new # rubocop:disable Style/EmptyLiteral
有关如何配置 Rubocop 的更多信息,请查看 its documentation。
RuboCop 在我使用 Hash.new
时抱怨,并建议我改为使用哈希文字。有没有办法让 RuboCop 忽略 Hash.new
的使用?更具体地说,我可以编辑我的 .rubocop.yml
配置以允许使用 Hash.new
而不提出任何投诉吗?
您可以在 rubocop.yml 文件中禁用 Rubocop::Cop::Style::EmptyLiteral
cop:
# .rubocop.yml
Style:
EmptyLiteral: false
或者如果您只想忽略某一行:
hsh = Hash.new # rubocop:disable Style/EmptyLiteral
根据 Ruby Style Guide 文字数组和散列创建符号是首选,除非您需要将参数传递给它们的构造函数。因此,要遵循指南,您应该使用 hash = {}
而不是 hash = Hash.new
.
我会遵循指南中的约定,但如果您不想,您可以禁用 Style/EmptyLiteral cop,就像本地或全局的任何其他警察一样。
全球
添加给你的rubocop.yml
文件:
Style:
EmptyLiteral: false
本地
# rubocop:disable Style/EmptyLiteral
hash = Hash.new
# rubocop:enable Style/EmptyLiteral
或单行的简短版本:
hash = Hash.new # rubocop:disable Style/EmptyLiteral
有关如何配置 Rubocop 的更多信息,请查看 its documentation。