2013-05-13 28 views
0

實現對集合成員的訪問有沒有什麼辦法可以通過[]實現對集合成員的訪問。我的意思是我必須編程一個鏈表,我想通過Coll [int]訪問成員。有沒有辦法做到這一點?Ruby通過[]

+1

您可以請發佈鏈接列表實施的相關摘錄嗎? – 2013-05-13 21:42:00

回答

1

你的鏈表是它自己的類嗎?如果是這樣,你可以定義[]方法該類:

class LinkedList 

    ... 

    def [](int index) 
    node = @head 
    index.times do 
     node = node.next 
    end 
    node 
    end 

end 

此代碼假定成員變量@head引用列表中的第一項,而#next返回列表中的下一個條目的方法。它假定從零開始編制索引,並且索引超出範圍沒有錯誤處理。

在使用中,你叫什麼你想要的方式:

linked_list[2] 

紅寶石對待這個就好像你這樣寫:

linked_list.[](2) 

這兩種語法是等價的,但一個正常寫首先,形式較短。

+0

確定但我不需要像[](7)那樣調用它? – user2184057 2013-05-13 21:42:32

+0

@ user2184057,我已經添加了如何調用它的解釋。 – 2013-05-13 21:45:28

+0

非常感謝你,我認爲我得到了重點:)我認爲我需要實施mixins之一:) – user2184057 2013-05-13 21:46:48