我有一个字符串,可能是也可能不是有效日期。
我想要一种干净简单的方法来验证,同时保持Rubocop的快乐。
for .. do
我实际上觉得这是一种干净的方式来实现我的需要,但有没有办法解决,同时仍然保持rubocop快乐?
答案 0 :(得分:2)
添加明确的nil
:
# TODO: Welcome suggestions for a better way to deal with this...
# rubocop:disable HandleExceptions
def self.valid_date?(date)
Date.parse(date)
rescue ArgumentError
nil
end
否则,请在rescue
中启用内联.rubocop.yml
以获得更短的方法:
Style/RescueModifier:
Enabled: false
然后:
# TODO: Welcome suggestions for a better way to deal with this...
# rubocop:disable HandleExceptions
def self.valid_date?(date)
Date.parse(date) rescue nil
end
请记住,您的代码的可读性并不取决于机器所说的内容,而是其他人(即社区)对此的看法。 Rubocop只是一种快速查看代码的工具,无需手动逐行阅读。
答案 1 :(得分:0)
# rubocop:disable Style/RescueModifier
def self.valid_date?(date)
Date.parse(date) rescue nil
end
# rubocop:enable Style/RescueModifier