本節書摘來自異步社群《“笨辦法”學ruby》(第3版)一書中的習題3數字和數學計算,作者【美】zed a. shaw(澤德 a. 肖),更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
習題3 數字和數學計算
“笨辦法”學ruby(第3版)
每一種程式設計語言都包含處理數字和進行數學計算的方法。不必擔心,程式員經常謊稱他們是多麼牛的數學天才,其實他們根本不是。如果他們真是數學天才,他們早就去從事數學相關的行業了,而不會為了能開得起跑車,吭哧吭哧寫各種毛病多多的web架構了。
這個習題裡有很多數學符号。我們來看一遍它們都叫什麼名字。你要一邊寫一邊念出它們的名字來,直到你念煩了為止。名字如下:
加号
− 減号
/ 斜杠
星号
% 百分号
< 小于号
大于号
<= 小于等于号
= 大于等于号
有沒有注意到以上隻是些符号,沒有給出具體的運算呢?寫完下面的練習代碼後,再回來寫出每個符号的作用,完善這個表。例如,+是用來做加法運算的。
應該看到的結果
習題3 會話
鞏固練習
1.在每一行的上面使用#為自己寫一個注釋,說明一下這一行的作用。
2.記得習題0吧?用裡邊的方法運作ruby,然後使用剛才學到的數學運算符把ruby當做電腦玩玩。
3.自己找個想要計算的東西,寫一個.rb檔案把它計算出來。
4.有沒有發現計算結果是“錯的”呢?計算結果隻有整數,沒有小數部分。這裡你應該使用“浮點數”(floating point number),也就是帶小數點的數,如10.5或者0.89,就連3.0也是一個浮點數。
5.使用浮點數重寫一遍ex3.rb,讓它的計算結果更準确。(提示:20.0是一個浮點數。)
常見問題回答
為什麼%是求餘數符号,而不是百分号?
很大程度上隻是因為設計人員選擇了這個符号而已。正常寫作時它是百分号沒錯,在程式設計中除法我們用了/,而求餘數又恰恰選擇了%這個符号,僅此而已。
%是怎麼工作的?
換個說法就是“x除以y餘數是j”,例如“100除以16餘數是4”。%運算的結果就是j這部分。
運算優先級是怎樣的?
在美國,我們用pemdas這個簡稱來輔助記憶,它代表的是parentheses(括号)、exponents(指數)、multiplication(乘)、division(除)、addition(加)、subtraction(減),這就是ruby裡的運算優先級。
本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。