7、Ruby编程:符号与对象的深度解析

Ruby编程:符号与对象的深度解析

1. Ruby中的符号

1.1 符号与字符串的初步认知

在Ruby编程里,符号和字符串乍一看很相似。比如字符串 “dog” 和与之对应的符号 :dog,它们本质上都是由 ‘d’、’o’、’g’ 这三个字符组成。在实际代码中,字符串和符号也具备一定的可互换性。以ActiveRecord代码为例,查找书籍表中所有记录时,可以这样写:

book = Book.find(:all)

这里的 :all 作为 find 方法的参数,是一个标志,表明要获取书籍表中的所有记录。其实,我们也可以使用字符串来达到相同的目的:

book = Book.find('all')

从这个角度看,除了输入 :all 比 ‘all’ 少按一个键之外,符号和字符串似乎没有太大区别。但Ruby为什么要同时提供这两者呢?

1.2 符号与字符串的不同用途

字符串在代码中有两种不同的用途:
- 数据存储 :用于保存我们正在处理的数据。例如从数据库中读取书籍对象时,会涉及到书籍的标题、作者姓名和实际文本等字符串数据。
- 表示特定含义 :在程序中代表某些事物,如在上述例子中,:all 代表要查找表中的所有记录。使用符号来表示这种含义,对人类来说更易理解,相比数字(如 0、-1 或 0x29ef),我们更容易识别 :all 的意义。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值