RuboCop жалуется при использовании 'Hash.new'
RuboCop жалуется, когда я использую Hash.new
и предлагает использовать вместо этого хеш-литерал. Есть ли способ заставить RuboCop игнорировать использование Hash.new
? Более конкретно, могу ли я отредактировать мой .rubocop.yml
конфигурация, чтобы позволить использование Hash.new
без каких-либо жалоб?
2 ответа
Вы можете отключить Rubocop::Cop::Style::EmptyLiteral
Коп в файле rubocop.yml:
# .rubocop.yml
Style:
EmptyLiteral: false
Или, если вы хотите просто игнорировать определенную строку:
hsh = Hash.new # rubocop:disable Style/EmptyLiteral
В соответствии с Руководством по Ruby Style литеральный массив и нотация создания хеша предпочтительны, если вам не нужно передавать параметры их конструкторам. Таким образом, чтобы следовать руководству, вы должны использовать hash = {}
вместо hash = Hash.new
,
Я бы следовал соглашениям в руководстве, но в случае, если вы этого не хотите, вы можете отключить полицейского Style/EmptyLiteral, как и любого другого полицейского, локально или глобально.
глобально
Добавить к вам rubocop.yml
файл:
Style:
EmptyLiteral: false
в местном масштабе
# rubocop:disable Style/EmptyLiteral
hash = Hash.new
# rubocop:enable Style/EmptyLiteral
или короткая версия для одной строки:
hash = Hash.new # rubocop:disable Style/EmptyLiteral
Для получения дополнительной информации о том, как настроить Rubocop, проверьте его документацию.