假设我在Ruby s1中有一个集合:
#<Set: {12, 25}>
我使用s1.find_index(12)来获取索引0 我可以使用索引来取回set元素,比如s1 [0]以获得12?
我想这样做的原因是我的设置元素很大。我想存储set元素之间的链接。我使用索引来存储链接。
我正在使用Ruby 1.9.3
答案 0 :(得分:1)
我认为你想使用Array
和Hash
。
ary = []
hsh = {}
unless hsh[item]
hash[item] = ary.size
ary << item
end
然后当您在hsh
中查找该项目时,您将获得该列表中项目的索引,并且实际上您将获得具有特定警告的集合的内部
答案 1 :(得分:0)
这可能是不可能的。 Set是无序列表。
Set实现了一组无序值,没有重复。这是Array直观的互操作设施和Hash快速查找的混合体。
答案 2 :(得分:0)
您可以通过以下方式从索引中获取集合中的元素:
my_set = Set.new([1, 4, 7])
if index = my_set.find_index(4)
puts my_set.to_a[index]
end