2013IT鐵人賽-25-ruby05-練習Learn Ruby The Hard Way網站範例Part 3
2013IT鐵人賽-25-ruby05-練習Learn Ruby The Hard Way網站範例Part 3
這次我們的讀書會選用的是Oreilly 的Ruby程式設計這本書, 然後建議的練習是採用”笨方法學 Ruby” http://lrthw.github.io/ 上面的範例.
今天就來繼續練習網站上面的範例吧 :-)
本次練習使用 EasyCloud 的 VM 來練習, 並連接終端機來操作.
首先先切換到工作目錄吧(我的 git 工作目錄在 /root 目錄下面, 請依造自己的設定來調整)
將 GitHub 上面的資料同步回來
remote: Counting objects: 33, done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 31 (delta 7), reused 28 (delta 4)
Unpacking objects: 100% (31/31), done.
From https://github.com/sakanamax/2013ironman
* branch master -> FETCH_HEAD
Updating 0cd1772..43d240c
Fast-forward
java/Basic_006_inputData.class | Bin 0 -> 1382 bytes
java/Basic_006_inputData.java | 44 ++++++++++++++++++++++++++++++
java/Basic_007_arithmeticOperators.class | Bin 0 -> 1249 bytes
java/Basic_007_arithmeticOperators.java | 39 ++++++++++++++++++++++++++
java/Basic_008_autoCasting.class | Bin 0 -> 755 bytes
java/Basic_008_autoCasting.java | 16 +++++++++++
java/Basic_009_forceCasting.class | Bin 0 -> 766 bytes
java/Basic_009_forceCasting.java | 19 +++++++++++++
java/Basic_010_noticeCasting.class | Bin 0 -> 908 bytes
java/Basic_010_noticeCasting.java | 19 +++++++++++++
java/Basic_011_if.class | Bin 0 -> 923 bytes
java/Basic_011_if.java | 29 ++++++++++++++++++++
java/Basic_012_ifElse.class | Bin 0 -> 957 bytes
java/Basic_012_ifElse.java | 31 +++++++++++++++++++++
14 files changed, 197 insertions(+)
create mode 100644 java/Basic_006_inputData.class
create mode 100644 java/Basic_006_inputData.java
create mode 100644 java/Basic_007_arithmeticOperators.class
create mode 100644 java/Basic_007_arithmeticOperators.java
create mode 100644 java/Basic_008_autoCasting.class
create mode 100644 java/Basic_008_autoCasting.java
create mode 100644 java/Basic_009_forceCasting.class
create mode 100644 java/Basic_009_forceCasting.java
create mode 100644 java/Basic_010_noticeCasting.class
create mode 100644 java/Basic_010_noticeCasting.java
create mode 100644 java/Basic_011_if.class
create mode 100644 java/Basic_011_if.java
create mode 100644 java/Basic_012_ifElse.class
create mode 100644 java/Basic_012_ifElse.java
接下來練習 習題 7: 更多印出
建立一個檔案 ex7.rb 於我們建立好的Lab-LRTHW目錄下, 內容如下
puts "Mary had a little lamb."
#藉由 % 將 snow 帶入列印的顯示
puts "Its fleece was white as %s," % 'snow'
puts "And everywhere that Mary went."
# 使用 * 10 來列印 10次 .
puts "." * 10
end1 = "C"
end2 = "h"
end3 = "e"
end4 = "e"
end5 = "s"
end6 = "e"
end7 = "B"
end8 = "u"
end9 = "r"
end10 = "g"
end11 = "e"
end12 = "r"
#print 不像 puts 會執行換行, 然後使用 + 連接字串
print end1 + end2 + end3 + end4 + end5 + end6
print end7 + end8 + end9 + end10 + end11 + end12
puts
並使用 ruby 指令執行該程式
接下來練習 習題 8: 印出,印出
建立一個檔案 ex8.rb 於我們建立好的Lab-LRTHW目錄下, 內容如下
#定義一個變數 formatter
formatter = "%s %s %s %s"
#帶入相關變數的值, 然後列印出來
puts formatter % [1, 2, 3, 4]
puts formatter % ["one", "two", "three", "four"]
#這邊因為沒有給值, 所以列印4次 %s %s %s %s
puts formatter % [formatter, formatter, formatter, formatter]
#也可以後來帶入值
puts formatter % [
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
]
並使用 ruby 指令執行該程式
接下來練習 習題 9: 印出,印出,印出
建立一個檔案 ex9.rb 於我們建立好的Lab-LRTHW目錄下, 內容如下
# Here's some new strange stuff, remember type it exactly.
days = "Mon Tue Wed Thu Fri Sat Sun"
#這邊使用 \n 來進行換行
months = "Jan\nFed\nMar\nApr\nMay\nJun\nJul\nAug"
#puts 後面用接兩個物件, 使用逗號來區隔
puts "Here are days: ", days
puts "Here are the months: ", months
puts <<PARAGRAPH
There's something going on here.
With the three double-quotes.
We'll be able to type as much as we like.
Even 4 lines if we want, or 5 or 6.
PARAGRAPH
並使用 ruby 指令執行該程式
最後加入到 git 並傳送到 GitHub
[master 670ee65] Add ruby exercise file 7-9
3 files changed, 57 insertions(+)
create mode 100644 ruby/Lab-LRTHW/ex7.rb
create mode 100644 ruby/Lab-LRTHW/ex8.rb
create mode 100644 ruby/Lab-LRTHW/ex9.rb
Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com': 您的密碼
Counting objects: 10, done.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 1.43 KiB, done.
Total 7 (delta 2), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
43d240c..670ee65 master -> master
Fun with Day 25 ~