Ruby:可被4整除

问题描述 投票:27回答:3

这工作正常,但我想让它更漂亮 - 并容纳所有可被4整除的值:

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

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

ruby modulo
3个回答
129
投票

试试这个:

if i % 4 == 0

这被称为“modulo operator”。


48
投票

还有modulo,它允许你这样做

420.modulo(4).zero?

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

420.%(4).zero?

12
投票

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

if (i & 3).zero?
© www.soinside.com 2019 - 2024. All rights reserved.