Ruby 中的数值与字符串处理
1. 数值精度问题
在处理浮点数时,由于舍入误差,0.4 和 0.3 的近似值之差与 0.1 的近似值并不完全相同。这并非 Ruby 特有的问题,C、Java、JavaScript 以及所有使用 IEEE - 754 浮点数的语言都会遇到。
为解决此问题,可使用实数的十进制表示而非二进制表示。Ruby 标准库中的 BigDecimal 类就是这样一种表示方式。不过,对 BigDecimal 对象进行算术运算比处理 Float 值要慢很多,它适用于典型的财务计算,但不适用于科学数值计算。
2. 文本处理概述
在 Ruby 中,文本由 String 类的对象表示。字符串是可变对象,String 类定义了一组强大的运算符和方法,用于提取子字符串、插入和删除文本、搜索、替换等操作。Ruby 提供了多种在程序中表示字符串字面量的方式,其中一些支持强大的字符串插值语法,可将任意 Ruby 表达式的值替换到字符串字面量中。
文本模式在 Ruby 中由 Regexp 对象表示,Ruby 还定义了一种语法,可在程序中直接包含正则表达式。例如, /[a - z]\d+/ 表示一个小写字母后跟一个或多个数字。正则表达式是 Ruby 中常用的特性,但它不像数字、字符串和数组那样是基本数据类型。
3. Ruby 1.8 与 1.9 的文本差异
Ruby 1.8 和 1.9 之间最大的变化是,1.9 提供了对 Unicode 和其他多字节文本表示的全面内置支持,其影响广泛。
4. 字符串字面量
Ruby 提供了多种将
超级会员免费看
订阅专栏 解锁全文
310

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



