User Tools

Site Tools


at:tutorial:objects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
at:tutorial:objects [2007/07/18 18:11] jorgeat:tutorial:objects [2007/07/18 18:30] jorge
Line 159: Line 159:
 def Enumerable := object: { def Enumerable := object: {
   def collect: closure {   def collect: closure {
-    def c := self.new();+    def c := self.new([]);
     self.each: { |v|     self.each: { |v|
-      closure(v);+      c.add(closure(v));
     };     };
     c;     c;
Line 168: Line 168:
 def Array := object: { def Array := object: {
   def elements := [];   def elements := [];
 +  def init(a) { elements := a; };
   def add(v) { elements := elements + [v]; self };   def add(v) { elements := elements + [v]; self };
   def collect: closure {   def collect: closure {
Line 174: Line 175:
   def each: clo {   def each: clo {
     1.to: elements.length + 1 do: { |i|     1.to: elements.length + 1 do: { |i|
-      elements[i] := clo(elements[i]);+      clo(elements[i]);
     };     };
   };   };
Line 187: Line 188:
 > def c := Array.collect: { |v| v+1 } > def c := Array.collect: { |v| v+1 }
 >> <object:14179973> >> <object:14179973>
-> c.each: { |v| system.println(v)}+> c.each: { |v| system.print(v)}
 2 2
 3 3
at/tutorial/objects.txt · Last modified: 2013/05/17 20:23 by tvcutsem