如何解决如何修复Rubocop中的样式/多重比较攻击?
当我运行rubocop时,我不断受到攻击:
bin / main:70:6:C:Style / MultipleComparison:避免将变量与条件中的多个项目进行比较,使用Array#include吗?代替。
我的代码:
if board1 == [1,2,3] || board1 == [4,5,6] || board1 == [7,8,9] ||
board1 == [3,7] || board1 == [1,9] || board1 == [1,4,7] ||
board1 == [2,8] || board1 == [3,6,9]
board1.each { |state| board_states[state - 1] = 'X' }
puts "#{player1} win"
break
end
我一般都不是红宝石和编码专家。如何按照rubocop的建议将上述代码重构得更简洁?
解决方法
Rubocop建议您使用if
重构Array#include?
条件。
states = [[1,2,3],[4,5,6],[7,8,9],[3,7],[1,4,[2,8],6,9]]
if states.include?(board1)
board1.each { |state| board_states[state - 1] = 'X' }
puts "#{player1} win"
break
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。