Ruby 标准库实用功能解析
1. Set 库:集合操作的利器
1.1 集合基础
集合(Set)是一种存储唯一值的集合,其唯一性通过 eql?
和 hash
方法来确定。借助便利的方法,我们能够从可枚举对象构建集合。
1.2 基本集合操作
以下是一些基本集合操作的示例代码:
require 'set'
set1 = Set.new([:bear, :cat, :deer])
# 检查元素是否存在
puts set1.include?(:bat) # 输出: false
# 添加元素
set1.add(:fox)
# 按元素字符串长度进行分类
partition = set1.classify {|element| element.to_s.length }
set2 = [ :cat, :dog, :cow ].to_set
# 并集
puts (set1 | set2).inspect
# 交集
puts (set1 & set2).inspect
# 差集
puts (set1 - set2).inspect
# 对称差集
puts (set1 ^ set2).inspect
1.3 用户分区示例
我们可以将 /etc/passwd
文件中的用户按相邻用户 ID 进行分区:
require 'etc'
require 'set'
use