ruby-on-rails - Ruby 中的 "%"和 "/"符号差异

标签 ruby-on-rails ruby

我正在尝试解决 FizzBu​​zz 游戏。

我需要检查一个数字是否可以被 3 整除。因此,当我们取一个数字并将其除以 3 时,我们需要该操作没有 REST,或者 0 REST。

给我的解决方案是这样的:

def fizzbuzz(number)

  if number % 3 == 0
    return "Fizz"
  end

为什么他们建议使用“%”符号?为什么不是“/”符号?或者两者的作用相同?

如何查看分区是否NO REST?

最佳答案

除法运算符 / - 无论除法的余数是多少,都给出除法的商。因此,您无法使用除法运算符 (/) 确定数字是否可完全整除(余数 = 0)或不可完全整除(余数非零)。

10 / 3
#=> 3 

模运算符 % - 给出除法的余数。如果可以完全整除,则输出为 0,如果不能完全整除,则输出为非零值。

10 % 3
#=> 1 

在你的例子中,number % 3 == 0true 仅当 number 可以被 3 整除且余数为 0(即如果 >number 传递给方法 frizzbuzz 是 3 的倍数,例如 -12、-3、3、6、9 等)

关于ruby-on-rails - Ruby 中的 "%"和 "/"符号差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41315229/

相关文章:

ruby-on-rails - Elasticache redis 缓存未命中但 key 存在。

ruby-on-rails - 如何在 rails 之外使用 active_support 提供的方法

ruby-on-rails - Ruby 1.8.7(或 Rails 2.x)中的 String.force_encoding()

ruby ,Mongodb, Anemone : web crawler with possible memory leak?

ruby-on-rails - Rails 对不同模型中两列值的唯一性约束

ruby-on-rails - ActiveRecord 事务,保存 1000 多个条目

ruby-on-rails - rails "root"函数到底在哪里定义?

ruby-on-rails - rails : how to iterate over subset of model's fields to create input field?

mysql - Rails 关联和删除

ruby-on-rails - 深度嵌套的 content_tag、concat 和 rails 3