我有如下结构,Rubocop 抱怨我试图安抚
unless foo && !foo.empty? ...
(项目存在且不为空)
和
bar && !bar.positive?
(项目存在且不是正数)
在这两种情况下,Rubocop 都会抛出 aStyle/SafeNavigation
并说我应该使用它&.
。但是,似乎没有办法编写它。
在这两种情况下,问题的一部分是没有表达相反函数的简洁方式 - 字符串没有“非空”,数字没有“负数或零”。例如,写入bar&.negative?
返回零的相反结果。
在另一种情况下,写作unless !foo&.empty?
使 Rubocop 抱怨除非 + 否定,但同样没有办法将其重写为if foo&.
存在的任何操作。
(顺便说一句,这是纯 Ruby,没有 Rails,所以我没有blank?
and present?
)