我創建了一個'pop'方法將最後一個節點從鏈表中取出。但是,我收到的問題是它不會刪除節點,它只是告訴我應該刪除的節點中的數據。Ruby中的'pop'方法
我應該用我使用測試驅動開發的前言,測試寫成'assert_equal「blop」,list.pop。 「blop」是最後一個節點的值。很好,我得到了我的方法告訴我,但它仍然不會刪除節點。
def pop
@count -= 1
return_string = ""
current_node = @head
until current_node.next_node == nil
current_node = current_node.next_node
end
return_string << current_node.data + " "
return_string.strip
current_node.next_node = Node.new(data)
end
我的問題是我怎麼回的精選被刪除什麼價值,以及,從鏈表刪除值。
請記住,在Ruby中唯一的邏輯錯誤是'nil'和'false',所以除非你在列表中預期字面值爲'false',那麼'如果current_node.next_node'是表達方式那。你也可以做'current_node && = current_node.next_node'。 – tadman
你的問題是什麼? – sawa