有没有办法通过[]实现对集合成员的访问。我的意思是我必须编写一个链表,我想通过Coll [int]访问成员。有没有办法做到这一点?
答案 0 :(得分:1)
您的链接列表是否属于自己的类?如果是这样,您可以为该类定义[]
方法:
class LinkedList
...
def [](int index)
node = @head
index.times do
node = node.next
end
node
end
end
此代码假定成员变量@head
引用列表中的第一个条目,并且方法#next
返回列表中的下一个条目。它假定从零开始索引,并且没有错误处理索引超出范围。
在使用中,您可以按照自己的方式调用它:
linked_list[2]
Ruby认为这就像你写的那样:
linked_list.[](2)
这两个语法是等价的,但通常会写第一个较短的形式。