Ruby變數

2gua發表於2013-02-22

Ruby的愛好者越來越多了,相比較前段時間瞭解的Scala,會顯得單純些(不必限於其它平臺基礎上)。Ruby的變數,有些細節需要注意,否則,一不小心就會犯錯。

1. Ruby變數注意點
Ruby變數要注意以下幾點:

  • 區域性變數:小寫或下劃槓“_”開頭
  • 全域性變數:$開頭
  • 例項變數:@開頭
  • 類變數:@@開頭
  • **虛變數:**false、true、self等特定名稱的變數
  • 常數:必須以大寫字母開頭

2. 區域性變數和全域性變數的區別
區域性變數和全域性變數的區別看看以下程式碼就清楚了:
hi.rb

# encoding: UTF-8

$a = 5 #全域性變數
a = 10 #區域性變數

require './embedit.rb'

puts("$a = #{$a}; a = #{a}")

embedit.rb

$a = 50 #全域性變數
a = 100 #區域性變數

ruby hi.rb執行結果:
$a = 50; a = 10

Ruby是物件導向的,每個變數都有個object_id,比如前面的$a和a的object_id

puts("$a.object_id = #{$a.object_id}; a.object_id = #{a.object_id}")

結果:
$a.object_id = 101; a.object_id = 21

3. Ruby的命名規則
另外,Ruby的命名規則,我的習慣大致如下所列:

  • 變數、方法用連線隔開:print_greetings
  • 類名和模組名用首字母大寫隔開:PrintGreetings

enter image description here

相關文章