Ruby中的%符號表示什麼?例如,我用下面的代碼:Ruby中的%符號表示什麼?
puts "Roosters #{100 - 25 * 3 % 4}"
,並得到以下的輸出:
97
凡平分做了97從何而來?我查了一下模運算符是什麼,並且仍然不知道它在這個簡單的數學例子中做了什麼。
Ruby中的%符號表示什麼?例如,我用下面的代碼:Ruby中的%符號表示什麼?
puts "Roosters #{100 - 25 * 3 % 4}"
,並得到以下的輸出:
97
凡平分做了97從何而來?我查了一下模運算符是什麼,並且仍然不知道它在這個簡單的數學例子中做了什麼。
Modulo operator。
它劃分並返回餘數。因此,在你的情況,75/4 18用的3
25 * 3 = 75
75%4 = 3(餘數)
100其餘部分 - 3 = 97
模 - 除以餘數
除以整數除法的餘數。
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
感謝您的幫助! – 2014-10-11 22:13:41
http://stackoverflow.com/questions/2664301/how-does-modulus-divison-work – bruchowski 2014-10-11 05:27:54
你怎麼知道想'75%4'結果? – 2014-10-11 05:28:23
[Fixnum#%](http://www.ruby-doc.org/core-2.1.1/Fixnum.html#method-i-25)只是另一種花園式的方法。 – 2014-10-11 06:42:27