33、Ruby 集合操作与正则表达式全解析

Ruby集合与正则表达式详解

Ruby 集合操作与正则表达式全解析

1. Ruby 集合与可枚举性

1.1 可枚举对象概述

在 Ruby 中,数组和哈希是常见的可枚举对象,这并不令人意外,因为它们显然是对象的集合。而字符串同样也是可枚举的,但其基本的 each 行为可能与我们的预期不同。

1.2 字符串作为可枚举对象

字符串类混入了 Enumerable 模块,但作为可枚举对象时,字符串的行为并非如我们所想。虽然对字符串及其部分进行过滤和操作没有限制,但要得到期望的结果,可能需要采用一些非直观的技术。

可枚举对象都有一个 each 方法,该方法会逐个返回集合中的每个元素。由于字符串在某种意义上是单个字符的集合,我们可能会期望 String#each 方法逐个返回字符串中的字符。然而,实际上 Ruby 将字符串视为行的集合。当使用 each 方法遍历字符串时,每次遇到新行才会返回一个新值,而不是每个字符都返回:

s = "This is\na multiline\nstring."
s.each {|e| puts "Next value: #{e}" }

上述代码输出如下:

Next value: This is
Next value: a multiline
Next value: string.

这表明遍历字符串的元素实际上是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值