
現(xiàn)在你已經(jīng)把一切所需的安裝好了,現(xiàn)在讓我們開(kāi)工寫(xiě)程序吧!打開(kāi)你喜歡的代碼編輯器,輸入如下代碼:
puts 1+2
保存你的程序?yàn)?strong>calc.rb格式(不要懷疑,這就是一個(gè)程序了),.rb格式是我們通常寫(xiě)Ruby程序在文件結(jié)尾加的特定后綴?,F(xiàn)在在命令行中鍵入ruby calc.rb,屏幕會(huì)顯示出3??窗?,編程沒(méi)有想象得那么難,不是嗎?

puts 介紹
那么這個(gè)程序具體是怎么運(yùn)行的?我肯定你會(huì)猜是1+2做了什么?這個(gè)程序基本上和下面這個(gè)相同:
puts 3
puts 只是簡(jiǎn)簡(jiǎn)單單得把跟在它后面的內(nèi)容輸入到屏幕上。
整數(shù)和浮點(diǎn)數(shù)
在大多數(shù)編程語(yǔ)言中(當(dāng)然Ruby也不例外)不帶小數(shù)點(diǎn)的數(shù)字稱(chēng)為整數(shù),帶小數(shù)點(diǎn)的數(shù)字稱(chēng)為浮點(diǎn)數(shù),也簡(jiǎn)稱(chēng)浮點(diǎn)。
整數(shù) 可以舉例如下:
5
-205
9999999999999999999999
0
浮點(diǎn)數(shù) 可以舉例如下:
54.321
0.001
-205.3884
0.0
在實(shí)際運(yùn)用中,大多數(shù)程序不會(huì)用到浮點(diǎn)數(shù),只會(huì)用到整數(shù)(畢竟沒(méi)有人會(huì)看7.4封郵件,或者瀏覽1.8個(gè)網(wǎng)頁(yè),或者聽(tīng)5.24首喜歡聽(tīng)的歌曲……)浮點(diǎn)數(shù)通常會(huì)在學(xué)術(shù)(比如物理試驗(yàn)這類(lèi))和3D圖形方面用到。甚至大多數(shù)計(jì)算貨幣的程序也只用到整數(shù),只跟蹤計(jì)算到便士部分。
(類(lèi)似只計(jì)算人民幣中到XX元部分,后面XX角XX分就舍去或者四舍五入了 ----譯者注)
簡(jiǎn)單的算術(shù)計(jì)算
現(xiàn)在我們已經(jīng)知道一個(gè)簡(jiǎn)單的計(jì)算所有的構(gòu)成(計(jì)算通常會(huì)使用浮點(diǎn),所以如果你想要計(jì)算機(jī)像一個(gè)計(jì)算機(jī)一樣運(yùn)行,你應(yīng)該也需要使用浮點(diǎn))。從上一個(gè)例子我們可以看到對(duì)于加法運(yùn)算和減法運(yùn)算,我們使用+和-來(lái)進(jìn)行運(yùn)算。對(duì)于乘法運(yùn)算我們使用*來(lái)運(yùn)算,對(duì)于除法運(yùn)算我們使用/來(lái)運(yùn)算。大多數(shù)鍵盤(pán)都會(huì)在最右邊的數(shù)字鍵盤(pán)區(qū)域布置這些按鍵。如果你使用的是小鍵盤(pán)或筆記本電腦,你可以直接用Shift 8鍵和 / (與?鍵是同樣的按鍵)鍵來(lái)直接輸入*和/.現(xiàn)在讓我們?cè)囍陨詳U(kuò)展一下我們的calc.rb程序。鍵入下面這么代碼并運(yùn)行一下:
puts 1.0 + 2.0
puts 2.0 * 3.0
puts 5.0 - 8.0
puts 9.0 / 2.0
下面是程序會(huì)輸入的內(nèi)容:
3.0
6.0
-3.0
4.5
(程序中的空格鍵是不重要的,空格鍵只是來(lái)使代碼更加易讀)上面的例子輸出的結(jié)果都在我們意料之中,現(xiàn)在讓我們用整數(shù)試試:
puts 1+2
puts 2*3
puts 5-8
puts 9/2
基本和上面的例子一樣,是吧?下面再來(lái)看看輸出:
3
6
-3
4
咦……除了最后一個(gè)輸出!這是因?yàn)楫?dāng)你用整數(shù) 做計(jì)算時(shí),你也會(huì)得到一個(gè)整數(shù) 類(lèi)型的結(jié)果。如果計(jì)算機(jī)沒(méi)得到“正確”的答案,計(jì)算機(jī)通常會(huì)直接向下舍去(round down,4.5 turns to 4)(當(dāng)然這里在整數(shù)計(jì)算9/2中4是正確的答案,但有可能并不是你想要的結(jié)果)。
可能你想問(wèn)了整數(shù)除法是用來(lái)做什么的呢?好吧,讓我們舉個(gè)例子:你想要去看一場(chǎng)電影,但你身上只有$9,在Portland你可以在Bagdad電影院用$2看一場(chǎng)電影,你能在那里看幾場(chǎng)電影?9/2…4 場(chǎng)電影,在這個(gè)例子中4.5場(chǎng)電影肯定不是正確的答案,他們不會(huì)讓你看半場(chǎng)電影,或者把你劈成一半去看一場(chǎng)電影……一些事情不會(huì)正好整除。
所以現(xiàn)在你可以編寫(xiě)你自己的程序!如果你想寫(xiě)一個(gè)復(fù)雜的表達(dá)式,你可以用上圓括號(hào)。比如:
puts 5 * (12-8) + -15
puts 98 + (59872 / (13*8) ) * -52
5
-29802
試著下面幾個(gè)例子
寫(xiě)一個(gè)程序來(lái)告訴你:
- 一年中有多少小時(shí)?
- 十年里有多少分鐘?
- 你現(xiàn)在用分鐘來(lái)算有多大了?
- 你生活中你希望能有多少巧克力?
提醒:這幾個(gè)程序需要耗費(fèi)電腦計(jì)算較長(zhǎng)時(shí)間!
一個(gè)稍?xún)?yōu)點(diǎn)挑戰(zhàn)性的問(wèn)題: - 如果我有1246百萬(wàn)秒,我多少歲了?
當(dāng)你做完了這幾個(gè)數(shù)字計(jì)算,下面我們就可以開(kāi)始看看一些字符的例子了。
puts 365 * 24
puts 10*365*24*60
puts 26*365*24*60
puts 10*80
puts 1246*1000000/(60*60*24*365)