繼下一代Ruby 2.1的開發之後,我已閱讀了可能會添加的功能,以便開發人員可以指定文字字符串應該從「凍結」開始。爲什麼字面字符串應該開始凍結? (Ruby 2.1)
的語法如下(注意結尾f
):
str = "imfrozen"f # str receives a frozen string
在other Ruby documentation/wiki我讀過這個功能提供了以下好處:
這使得VM使用每次都有相同的String對象,並且 可能用於跨許多文件的相同凍結字符串。它也 顯然提供了凍結字符串的所有不變性保證。
我的問題是:
- 這樣做有什麼好處呢?
- 當像這樣的功能提供價值時,真實世界的例子是什麼?
- 這與
symbol
有什麼不同?
謝謝
我現在的理解是,這些新的凍結字符串是一樣的符號,但也可以是垃圾收集。 –