Hash.new
时,RuboCop会抱怨,并建议我使用哈希文字。有没有办法让RuboCop忽略Hash.new
的使用?更具体地说,我是否可以修改.rubocop.yml
配置以允许使用Hash.new
而不会引起任何投诉?
答案 0 :(得分:3)
您可以在rubocop.yml文件中禁用Rubocop::Cop::Style::EmptyLiteral
警察:
# .rubocop.yml
Style:
EmptyLiteral: false
或者,如果您只想忽略某一行:
hsh = Hash.new # rubocop:disable Style/EmptyLiteral
答案 1 :(得分:1)
根据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的详细信息。