iT邦幫忙

DAY 2
1

Ruby on Rails 30天學習筆記系列 第 2

Ruby on Rails 30天學習筆記之2-puts、octothorpe

大家好,我是小K。今天的進度是這兩個習題。

Exercise 1: A Good First Program

Exercise 2: Comments And Pound Characters

習題1是基本的印出。Ruby的印出寫法是puts。所以每一個程式語言的第一個基本範例:印出 Hello World! 在Ruby的世界就像下面這樣寫。

puts "Hello World!";

沒有分號。這點讓我小小驚訝了一下。我學的程式語言不多,所以是第一次寫到不需要用分號結尾的語法。這章的範例是要我們印出多行句子。

補充一下,我用的編輯器是Sublime Text3。(因為之前用過還蠻熟悉的就直接用這款了。)Ruby的副檔名為.rb結尾。要編譯執行Ruby的程式,所用的command就是ruby。非常直觀,我很喜歡!不像C要用gcc,Java要用javac,哈哈。

其實Ruby的印出不只有puts這一種寫法,還有另外一種大家都很熟print。兩者的差別在於puts會自動幫你換行,而print印出後,游標還會接在句子的後面(就是不會換行的意思)。

比如下面程式碼:
在印完 "This line will not change "後,下面的"Right?"會緊接在後面,之後才會換行。

還有另一種「檢驗字串」的輸出-p。書本上是寫「字串會包含一些你要印出東西的相關資訊」。但我實際印出後,發現跟一般印出沒有什麼差別,可能這部分還得去研究一下,還是有哪位前輩知道意思嗎??

再來是關於練習1的習題,不過我在上面的程式中就有把它寫上去了。
1. 讓你的程式再多印一行。

2. 讓你的程式只印出某一行。

3. #octothorp,它的作用是甚麼?
恩,看了以上的程式就可以知道,他是用來忽略程式碼用的。沒有拉~不過應該大多用來寫註解,或是在做測試時,用來註解某段程式,讓它先暫時不執行。

OK!那習題1的部分在這裡結束。下面要進行習題2了,不過內容好像跟剛剛差不多,主要是練習註解的使用。所以我也不多做解釋,我直接PO我的程式碼,稍微寫一些過程這樣。

這是習題上面的範例,我也就這樣照打一遍。從上面的程式碼來看,很清楚就能知道除了沒有被 # 掉的那兩行puts有執行之外,其他一律被忽略了。

習題2的Study Drills比較偏向於記憶的部分。比如記住octothrope這個單字、它的用法。還讓我們去檢查有沒有哪一個單字打錯,有的話趕快修正。恩,的確是寫完程式後必做的事情,間接訓練一下Debug的敏銳度(笑)。

好的,那今天的分享就到這邊結束!明天見囉~

程式碼同步分享於Github:https://github.com/peggy110336/ruby\_hard\_way

By 小K


上一篇
Ruby on Rails 30天學習筆記之1-環境介紹、筆記大綱
下一篇
Ruby on Rails 30天學習筆記之3-Variables、Math、Printing
系列文
Ruby on Rails 30天學習筆記8

2 則留言

0
daith
iT邦新手 5 級 ‧ 2014-09-24 12:33:30

關於你提到的 「另一種「檢驗字串」的輸出-p」,就如同你說的那樣,只是他是puts 的縮寫.

0
逮丸逮丸
iT邦大師 1 級 ‧ 2014-09-25 19:07:43

有關 p 與 puts 的差別,看這一篇應該比較清楚:
p vs puts in Ruby
驗證一下p是puts 對象的 inspect:

<pre class="c" name="code">>> arr = [1,2,3]
=> [1, 2, 3]
>> puts arr
1
2
3
=> nil
>> p arr
[1, 2, 3]
=> [1, 2, 3]
>> puts arr.inspect
[1, 2, 3]
=> nil
>> 

我要留言

立即登入留言