Ruby Symbol

在ruby中常會用到符號(Symbol)和哈希參數,之所以要有Symbol是因爲它更節省內存同一個Symbol在系統中只會存在一個,而不像字符串,會存在多個實例,這個Java中的字符串對象不一樣。常用來作爲hash的key或者是方法的參數。

hosts = {
 :beijing => 'machine1',
 :shanghai => 'machine2',
 :guangzhou => 'machine3',
 :tianjin  => 'machine4',
 :shenzhen => 'machine5'
}

那哈希參數呢?

通常我們定義的函數的參數的個數和順序是寫死的,調用函數的時候要確保參數的個數、順序匹配,有時候這樣很不方便,使用哈希參數可以解決這個問題。

ROR ,sinatra中就大量地運用這種方式,也許你已經看到了,到處都是 Symbol 和哈希。比如:

                
link_to 'Show', :action => 'show', :id => product

add_column :products, :price, :decimal, 
:precision => 8, :scale => 2, :default => 0

關於更多說明請看參考

參考http://www.ibm.com/developerworks/cn/opensource/os-cn-rubysbl/index.html

發佈了89 篇原創文章 · 獲贊 2 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章