Ruby] - Constant & Variable
命名方式: 常見的命名方式有 snake_case 跟 camelCase 這兩者。 在 Ruby 大部分是使用小寫英文字母以及底線來組合變數名稱, 例如像是 my_new_post,蛇式命名(snake_case)。 Constant 常數 命名規則:常數是大寫英文字母開頭! 在 Ruby,常數的...
命名方式: 常見的命名方式有 snake_case 跟 camelCase 這兩者。 在 Ruby 大部分是使用小寫英文字母以及底線來組合變數名稱, 例如像是 my_new_post,蛇式命名(snake_case)。
Constant 常數
-
命名規則:常數是大寫英文字母開頭!
Name = "apple" Height = 150 # 類別 class Sky end # 模組 module Cloud end -
在 Ruby,常數的內容是可以修改而且不會發生錯誤:
Food = "蘋果" Food = "香蕉" # warning: already initialized constant Food雖然有 warning 訊息,但還是可以把香蕉指定給帶有蘋果常數 Food
-
常數要從後面插入字串也可以:
Food = "蘋果" Food << "香蕉" Food # "蘋果香蕉"
Variable 變數
| Types | Example | Default | Remark | | :----------------------------: | :--------------------: | :-----: | :------------: | | Local Variable 區域變數 | name | none | 非大寫字母開頭 | | Global Variable 全域變數 | $name | nil | 有 $ 符號 | | Instance Variable 實體變數 | @name | nil | 有 1 個 @ 符號 | | Class Variable 類別變數 | @@name | none | 有 2 個 @ 符號 | | Pseudo Variable 虛擬變數 | nil, self, true, false | - | - |
-
虛擬變數通常有特別的用途或意義,內容不能被改變
nil = 123 # Can't change the value of self (SyntaxError) self = "me" # Can't change the value of self (SyntaxError) -
使用變數 在 Ruby 使用變數,不需要特別宣告或是指定型態,直接拿來用就可以了。 在變數命名規則上,常使用英文字母、數字或底線的組合 (蛇式命名)。或是非英文字母也可以,例如:
a = 1 puts a # 1 me = "Viii" puts me # Viii x, y, z = [2, 4, 6] # 一次指定多個變數需加上[] puts z # 6
Available Scope 有效範圍
以區域變數為例子:
1. 將變數定義在 say_hello 方法裡:
def say_hello
name = "Viii"
puts "Hi, This is #{name}!"
end
say_hello # Hi, This is Viii!
puts name # undefined local variable or method `name' for main:Object (NameError)
line 6: 定義在 say_hello 方法裡的 name 變數,在離開 say_hello 方法就失效。
2. 將變數定義在外層:
name = "Viii"
def say_hello
puts "Hi, This is #{name}!" # undefined local variable or method `name' for main:Object (NameError)
end
puts name # Viii
say_hello
line 3: 定義在外層的變數 name,在 say_hello 方法裡找不到而失效。