Singly-linked list/Element definition: Difference between revisions

Content deleted Content added
m →‎{{header|JavaScript}}: improvements to assist inheritance
m →‎{{header|Ruby}}: update code
Line 421: Line 421:
=={{header|Ruby}}==
=={{header|Ruby}}==


<lang ruby> class ListNode
<lang ruby>class ListNode
attr_accessor :value, :succ
attr_accessor :value, :succ

def initialize(v,s=nil)
def initialize(value, succ=nil)
self.value=v
self.succ=s
self.value = value
self.succ = succ
end

def each(&b)
yield self
succ.each(&b) if succ
end

include Enumerable

def self.from_array(ary)
head = self.new(ary[0], nil)
prev = head
ary[1..-1].each do |val|
node = self.new(val, nil)
prev.succ = node
prev = node
end
end
def each(&b)
head
end
yield value
end
succ.each(&b) if succ

end
list = ListNode.from_array([1,2,3,4])</lang>
include Enumerable
end</lang>


=={{header|Scheme}}==
=={{header|Scheme}}==