Ruby:可被4整除

时间:2012-01-11 10:43:36

标签: ruby modulo

这很好用,但我想让它更漂亮 - 并容纳所有可被4整除的值:

if i==4 || i==8 || i==12 || i==16 || i==20 || i==24 || i==28 || i==32
  # ...
end

任何聪明,简短的方法吗?

3 个答案:

答案 0 :(得分:126)

试试这个:

if i % 4 == 0

这称为“modulo operator”。

答案 1 :(得分:48)

还有modulo,允许你这样做

420.modulo(4).zero?

没有什么可以阻止你用%做到这一点,但它看起来很奇怪:

420.%(4).zero?

答案 2 :(得分:11)

这始终是一个很好的对话启动器:

if (i & 3).zero?