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 的意义。
超级会员免费看
订阅专栏 解锁全文
69

被折叠的 条评论
为什么被折叠?



