鐵 人
Ruby女孩(4):Ruby的語彙結構簡介
2014.Oct.04

今天終於要進入 Ruby 的語彙結構 ,依照書中編排,接下來會簡單說明Ruby 的註解(comment)、實字(literal)、標點符號(punctuation)、識別字(identifier)與關鍵字(keyword)。

註解(comment)

Ruby 的註解是以 # 字號開頭,Ruby 的解譯器會忽略 # 字號與 它右邊的任何文字 ,例如:

"我真的覺得他很厲害"#才怪

=>"我真的覺得他很厲害"

上面那行是我打的Ruby 語法,下面箭頭後面是真正執行的結果!(對了,想要自己玩玩的別忘了可以去repl.it 試試喔!)

但,這個 # 字號如果出現在字串或正規表達式裡面,就不會被註解掉!例如:

"我真的覺得他很厲害#才怪"

=>"我真的覺得他很厲害#才怪"

在字串裡的東西被留了下來,所以要小心使用XD

另外,如果你想要一次註解很多行文字的話,可以使用 多行註解

一種是 勤勉XD 的人會做的:

#
# 第一行
# 第二行
# 賀一行
#

每一行都要加 #

另一種是 輕量(?) [註1] 的人會做的:

=begin
 第一行
 第二行
 賀一行
=end

這種就是只要在開頭加上 =begin 、結尾加上 =end 就好了!

實字(literal)

實字是直接出現在Ruby 原始碼中的值,例如:數字、字串、正規表達式。

(這裡先簡單列出來,書中在第三章會仔細地說明所有數字、字串的語法)

1.class
=> Fixnum

1.0.class
=> Float

'1'.class
=> String

"1".class
=> String

/1/.class
=> Regexp

每一行的 .class ,會說明左邊實字的類別,所以你可以看到 1 是數字、 1.0 是浮點數、 '1'"1" 都是字串,而 /1/ 是正規表達式。

標點符號(punctuation)

看到標點想說這中文翻譯也太奇妙,因為我只會想到逗點、句號那些的,原來在這邊指的除了問號、驚嘆號、加減乘除運算符之外,還有 界定字串(delimit string)。阿,那什麼是界定字串啊?指的是分隔符號,通常預設都是 , ,Ruby 通常也有純空格 ` ` 就能當做界定字串。

識別字(identifier)

Ruby 會使用識別字來代替變數、方法、類別等命名,識別字組成自英文字母、數字以及底線符號,但是識別字有很多限制,例如:開頭不可以是一個數字不可以包含空白不能列印的字符也不能含有標點符號(除了底線),而且大小寫是不一樣的

識別字中也可能會出現標點符號,例如:

$files     #這是全域變數
@data      #這是實體變數
@@counter  #這是類別變數
empty?     #這會回傳Boolean值
sort!      #這會直接修改原本的sort方法
timeout=   #這是一個賦值方式的調用方法

這裡我們就先嘗嘗鮮,等後面章節詳細提及時再來說明!

關鍵字(keyword)

關鍵字就是在Ruby 中具有特殊意義的字,有些人會稱之為保留字,因為具有特殊意義,關鍵字並不適合被拿來當做識別字(例如:變數的名字),這裡有介紹Ruby 中的關鍵字。


今天是週六,果然不太適合寫文章XD今天給自己的一句話是:

If they can do it, so can you. -John Green

鐵人賽好多人都好努力在寫文章,大家都做得到,我一定也可以!加油!

ps. 因為上一篇用圖來顯示程式碼很模糊,所以這篇想試試別的方法,看有沒有比較清楚XD"

註1:勤勉的人、輕量的人,這個梗來自於日本Ruby 協會會長:高橋征義先生在示範高橋流簡報法時,說到為什麼要學Ruby 的理由,影片只有四分多鐘,卻能留下深刻印象,五顆星推薦大家看看!!!

Ruby女孩(5):Ruby的數學跟老師教的數學都不一樣?
2014.Oct.05
Ruby女孩(3):我該怎麼try Ruby的語法?
2014.Oct.03
comments powered by Disqus