Montag, 4. Januar 2010

Ein Hauch von Python

Ich spiele ja in letzter Zeit sehr viel mit Ruby und Python herum. Was mir an Python besonders gefällt sind unter anderem Generatoren. Damit kann man schöne Sachen machen.

def test():
for i in range(0,3):
yield i

x = test()

for i in x:
print i

Einen ähnlichen Effekt kann man unter Ruby mit Enumeratoren hinkriegen

class Test
def each
if block_given?
for i in 0...3
yield i
end
else
Enumerator.new(self)
end
end
end

t = Test.new
e = t.each

for i in e
puts i
end

Ich gebe zu das ich hier ziemlich geschummelt habe und Python Generatoren über das hinausgehen was ich hier in Ruby zeige. Aber es kann hin und wieder mal recht praktisch sein ;)

Keine Kommentare: