类 Set

这个库提供了 Set 类,它实现了一个不含重复项的无序值集合。它是 Array 直观的互操作功能和 Hash 的快速查找的混合体。

为了方便起见,方法 to_set 被添加到 Enumerable 中。

Set 可以很容易地与 Enumerable 对象(实现 each)一起使用。大多数初始化方法和二元运算符除了集合和数组之外,还接受通用的 Enumerable 对象。可以使用 to_set 方法将 Enumerable 对象转换为 Set

Set 使用 Hash 作为存储,因此您必须注意以下几点

比较

比较运算符 <><=>= 实现为 {proper_,}{subset?,superset?} 方法的简写。<=> 运算符反映此顺序,或者对于都具有不同元素的集合(例如 {x, y}{x, z})返回 nil

示例

require 'set'
s1 = Set[1, 2]                        #=> #<Set: {1, 2}>
s2 = [1, 2].to_set                    #=> #<Set: {1, 2}>
s1 == s2                              #=> true
s1.add("foo")                         #=> #<Set: {1, 2, "foo"}>
s1.merge([2, 6])                      #=> #<Set: {1, 2, "foo", 6}>
s1.subset?(s2)                        #=> false
s2.subset?(s1)                        #=> true

联系方式

这里有什么

首先,其他地方有什么。类 Set

特别是,类 Set 没有很多自己的方法用于获取或迭代。相反,它依赖于 Enumerable 中的方法。

在这里,类 Set 提供了对以下内容有用的方法

创建 Set 的方法

Set 操作的方法

比较的方法

查询的方法

赋值的方法

删除的方法

转换的方法

迭代的方法

其他方法