2010-10-31 43 views

回答

47

to_sym將字符串轉換爲符號。例如,"a".to_sym變爲:a

它不是特定於Rails;香草紅寶石也有。

它看起來像在某些版本的Ruby中,符號也可以轉換爲Fixnum以及從Fixnum轉換。但來自ruby-lang.org的來自Ruby 1.9.2-p0的irb不允許這樣做,除非您將自己的to_sym方法添加到Fixnum。我不確定Rails是否會這樣做,但在任何情況下它都不是很有用。

+5

如果您在代碼中使用to_sym,請注意!你可能有韭菜。符號永遠不會被ruby分配。 – fotanus 2013-02-01 17:03:50

+28

@fotanus我認爲你的意思是記憶**泄漏**,而不是某種蔬菜:http://en.wikipedia.org/wiki/Leek – 2013-07-04 03:27:48

+0

你好@cHao,謝謝你的回答。你能否告訴我爲什麼'.to_sym!'(用'!')不起作用。我已經在這個ideone中使用它:http://ideone.com/D7dZNz,它似乎並沒有工作。謝謝! – 2014-10-09 07:50:27