Day-10 符号Symbol 跟字串String有什麽不同?

Ruby 里面有个很奇怪的东西,叫做符号 Symbol ,他的写法是 :hello ,字串前面加上冒号,初心者应该很多人会呆住,不知道他是什麽…


简单来说

符号 Symbol 是有名字的物件,不能变动内容,且方法少,但效率快。
字串 String 的内容可以变动,且方法多,但效率差。


有关效率问题,符号 Symbol 只会产生单一的 object id,然後字串 String 每次都会产生新的 object id ,所以字串的效率比较差,比较占记忆体空间。可以使用 .to_s 把符号 Symbol 转为 字串 String 。


因为符号 Symbol 的只会产生单一的 object id 的特性,所以很适合做为 hash 的 key ,因为指向记忆体的同一个位置。


参考资料
1.https://kaochenlong.com/2016/04/25/string-and-symbol/
2.https://medium.com/@anneju/ruby-%E4%B8%96%E7%95%8C%E8%A3%A1%E7%9A%84%E7%AC%A6%E8%99%9F-symbol-%E6%98%AF%E4%BB%80%E9%BA%BC-%E5%AE%83%E8%B7%9F%E5%AD%97%E4%B8%B2%E5%8F%88%E6%9C%89%E4%BB%80%E9%BA%BC%E4%B8%8D%E5%90%8C-6d66b37d5bcf


<<:  连续 30 天 玩玩看 ProtoPie - Day 10

>>:  IOS、Python自学心得30天 Day-22 MacOS训练模组

Day 14 试用 Heroku

今天来试用 Heroku,并请使用 Heroku 的 Python 范例。 在这之前我已经有注册过 ...

qt 自定义控件 不同萤幕

自定义了一个数字键盘: 自己电脑跑起来是正常的,但是切换到一个分辨率不一样的电脑时就跑掉了,不整齐;...

第六章

大家在玩CMS之前应该都有先在本地端做测试的习惯吧,那应该会有遇到那种像是使用了XAMPP在本地端架...

30天程序语言研究

今天是30天程序语言研究的第二十七天,由於最近写unix语言的东西用到很多,所以做了很多笔记,就想说...

Day 6— 自动化回信机(3) 寄出信件功能

昨天我们终於把取得试算表内资讯的任务搞定了!接下来就是打勾之後,我们把信件寄出这个任务了! 首先,按...