当我说{:bla=>;1,:bloop=>;2}时,:到底做了什么?我在某个地方读到过关于它是如何类似于一个字符串,但不知何故是一个符号
我不太清楚这个概念,有人能给我一些启发吗
:foo是一个名为“foo”的符号。符号具有明显的特征,即任何两个命名相同的符号都是相同的:
“foo”。相等吗?“foo”#假
:foo.equal?:真的
这使得比较两个符号的速度非常快(因为只涉及指针比较,而不是像比较字符串中的所有字符那样),而且不会有大量相同符号的副本
此外,与字符串不同,符号是不可变的