1词身、學(xué)習(xí)使我快樂(lè)
早就聽(tīng)說(shuō)Ruby
這個(gè)語(yǔ)言的表達(dá)能力是一般的語(yǔ)言不能比的,現(xiàn)在終于有機(jī)會(huì)見(jiàn)識(shí)見(jiàn)識(shí)啦贴捡,雖然一開(kāi)始是拒絕的忽肛,但古人不常說(shuō)嘛,學(xué)如逆水行舟烂斋,不進(jìn)則退~何況語(yǔ)言都是相通的屹逛,那就開(kāi)始吧
2汛骂、基本用法(與之前學(xué)過(guò)的比較)
- 定義類(lèi)
在 Ruby 中罕模,類(lèi)總是以關(guān)鍵字 class 開(kāi)始,后跟類(lèi)的名稱(chēng)帘瞭。類(lèi)名的首字母應(yīng)該大寫(xiě)淑掌,例如
class Customer
- 創(chuàng)建對(duì)象
下面的實(shí)例創(chuàng)建了類(lèi) Customer 的兩個(gè)對(duì)象 cust1 和 cust2:
cust1 = Customer. new
cust2 = Customer. new - 創(chuàng)建數(shù)組
names = Array.new
- 設(shè)置全局變量
全局變量以 $ 開(kāi)頭。未初始化的全局變量的值為nil
(相當(dāng)于Js
中的null
)蝶念,例如
$global_variable = 10
- 判斷
Ruby
使用elsif
抛腕,不是使用else if
- 循環(huán)
for…in
語(yǔ)句:
for val in Array [do]
#code
End
- 定義方法
方法名應(yīng)以小寫(xiě)字母開(kāi)頭芋绸。如果您以大寫(xiě)字母作為方法名的開(kāi)頭,Ruby 可能會(huì)把它當(dāng)作常量担敌,從而導(dǎo)致不正確地解析調(diào)用摔敛。
def method_name
expr..
end
- 可以使用
#{ expr }
替換任意 Ruby 表達(dá)式的值為一個(gè)字符串
3、安裝RubyMine
- 點(diǎn)擊這里下載并安裝
RubyMine
全封,一個(gè)高效方便的ruby
IDEA哦马昙! - 下載好安裝包后,進(jìn)入到解壓目錄下的
bin
目錄執(zhí)行
$ ./rubymine.sh
- 在桌面點(diǎn)擊
Lock form Launcher
即可
4刹悴、Hello World
- 新建一個(gè)文件
hello_world
行楞,寫(xiě)如以下內(nèi)容
puts("Hello World")
- 進(jìn)入該文件目錄,執(zhí)行
$ ruby hello_world
- 輸出
Hello World
即成功
5颂跨、完成一個(gè)需求
- 描述
編寫(xiě)一個(gè)輸出數(shù)字從1到n的字符串表示形式的程序敢伸。對(duì)于三的倍數(shù)扯饶,應(yīng)該輸出“Fizz”五的倍數(shù)輸出“Buzz”恒削,既是5的倍數(shù)又是三的倍數(shù)的輸出“FIzzBuzz” - 思路
- 思路—新建數(shù)組—>判斷語(yǔ)句—>輸出字符串
- 寫(xiě)單元測(cè)試
-
實(shí)現(xiàn)
- 單元測(cè)試
Ruby中也提供了單元測(cè)試的框架,Ruby內(nèi)置的庫(kù)里面沒(méi)有包含TestSuite尾序,需要額外安裝一個(gè)第三方的gem(test-unit)
$ sudo gem install test-unit
在項(xiàng)目中可以新建一個(gè)test-unit
就會(huì)生成測(cè)試代碼模板钓丰,
比如
assert true
這行代碼叫做“斷言”(assertion)。斷言只有一行代碼每币,把指定對(duì)象或表達(dá)式和期望的結(jié)果進(jìn)行對(duì)比携丁。例如,斷言可以檢查:
兩個(gè)值是夠相等兰怠;
對(duì)象是否為nil梦鉴;
這行代碼是否拋出異常;
每個(gè)測(cè)試中都有一個(gè)到多個(gè)斷言揭保。只有所有斷言都返回真值肥橙,測(cè)試才能通過(guò)。
-
測(cè)試代碼
運(yùn)行測(cè)試代碼秸侣,執(zhí)行以下命令
$ ruby FizzBuzz.rb
具體實(shí)現(xiàn)代碼見(jiàn)我的Github
6存筏、學(xué)習(xí)資料
- 書(shū)籍《Ruby基礎(chǔ)教程》:https://book.douban.com/subject/25958845/
- 在線(xiàn)學(xué)習(xí)ruby:http://tryruby.org/
- Ruby學(xué)習(xí)資源匯總:http://iwanttolearnruby.com/
- ruby中文學(xué)習(xí)社區(qū):https://ruby-china.org/
- ruby練習(xí)題:http://rubyquiz.com/
- Ruby在線(xiàn)學(xué)習(xí)教程:https://www.codecademy.com/zh/learn/ruby