相信大多人在学习Ruby过程中,都被Symbol类型迷惑过.因为其他语言基本没有这个类.而且它太灵活了.很多人只知其一不知其二. 本人查了不少资料,自己总结一下. 首先来看一下Ruby之父所著的<Ruby编程语言>对符号的描述: 一个Ruby解释器的典型实现会维护一个符号表(symbol table),在这个表 中,它存储了其所知晓的所有类.方法及变量的名称,使一个这样的解释器可以 避免大多数的字符串比较:比如,它可以通过一个方法名在符号表中的位置来对其进行 引用.这样一来,就将一个相对开销较…