我创建了一个'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