有没有办法通过[]实现对集合成员的访问。我的意思是我必须编写一个链接列表,我想通过 Coll[int] 访问成员。有没有办法做到这一点?
问问题
64 次
1 回答
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)
这两种语法是等价的,但通常写第一种,更短的形式。
于 2013-05-13T21:37:45.120 回答