Ruby 字符串处理全解析
1. 字符串对象创建
在 Ruby 中,每次遇到字符串字面量时,都会创建一个新的对象。若在循环体中使用字面量,Ruby 会为每次迭代创建一个新对象。示例如下:
10.times { puts "test".object_id }
为提高效率,应避免在循环中使用字面量。除了常见的字符串字面量创建方式,还可以使用 String.new 方法创建新字符串:
- 无参数时,返回一个空字符串。
- 传入一个字符串参数时,会创建并返回一个表示相同文本的新 String 对象。
2. 字符字面量
在 Ruby 程序里,可通过在字符前加问号来使用单个字符字面量,无需引号:
?A # ASCII 字符 A 的字符字面量
?" # 双引号字符的字符字面量
?? # 问号字符的字符字面量
不过,Ruby 没有专门的类来表示单个字符,且字符字面量的解释在 Ruby 1.8 和 1.9 中有所不同:
- Ruby 1.8 :字符字面量会计算为指定字符的整数编码。例如, ?A 等同于 65,因为大写字母 A 的 ASCII 编码是整数 65,且该语法仅适用于 ASCII 和单字节字符。
- Ruby 1.9 及以后 :字符就是长度为
超级会员免费看
订阅专栏 解锁全文

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



