%符号在Ruby中意味着什么?

时间:2014-10-11 05:25:38

标签: ruby modulo

%符号在Ruby中意味着什么?例如,我使用以下代码:

puts "Roosters #{100 - 25 * 3 % 4}"

获得以下输出:

97

97的平分是从哪里来的?我已经查找了模运算符是什么,并且仍然不知道它在这个简单的数学例子中做了什么。

2 个答案:

答案 0 :(得分:1)

模数运算符。

它进行除法并返回余数。所以,在你的情况下,75/4是18,余数是3。

25 * 3 = 75

75%4 = 3(余数)

100 - 3 = 97

答案 1 :(得分:1)

modulo - 除以余数

除以整数除法中的余数。

10 / 3 = 3 (with remainder 1 that we discard with integer division)
10 % 3 = 1 (the part we normally discard is the part we are interested in with mod)

它也用于创建周期。如果我们有一个1到N的序列,我们可以用M来修改它并产生一个循环。再假设M = 3

for n in 0..10
   m = n % 3
   puts "#{n} mod 3 = #{m}"
end

0 mod 3 = 0
1 mod 3 = 1
2 mod 3 = 2
3 mod 3 = 0
4 mod 3 = 1
5 mod 3 = 2
6 mod 3 = 0
7 mod 3 = 1
8 mod 3 = 2
9 mod 3 = 0
10 mod 3 = 1
相关问题