Hi,
ich denke 'each_cons' ist besser geeignet als 'each_slice'
Gruß
Karl-Peter**
Alex Peuchert schrieb:
Hi,
Ruby kann das natürlich schon:
# ein String:
s = "Ruby kann das schon"
# zuerst brauchst du ein Array mit den einzelnen Zeichen des Strings:
a = s.split(//)
# dann über einzelne slices des Arrays iterieren:
a.each_slice(3) { |slice| puts slice.to_yaml }
also, die Methode heißt #each_slice und kommt aus dem Modul Enumerable.
Viel Spaß damit, Alex
2009/10/26 Oliver Haag <oh...@ohcon.de>:
Hallo,
ich habe eine Ruby Frage. Weiß jemand wie man eine each-Methode
implementiert oder wo man das nachlesen kann.
Hintergrund: ich möchte über einen String iterieren und Buchstabenfolgen
auswerten. Zunächst alle 2-er-Folgen oder 2-Tupel
später auch 3-Tupel und 4-Tupel.
Mit has_tupel() und get_tupel() krieg ichs zwar hin. Ist aber nicht sehr
ruby-isch
class TextBuffer
def initialize(text)
@text = text
@pos = 0
end
# checks position: kann man noch einen n-tupel extrahieren?
def has_tuple?(tsize=2)
@pos <= @text.length-tsize
end
# gets next tuple and advances position 1 step
# we want all possible n-tuples, so we advance only 1 step (and not tsize)
def get_tuple(tsize=2)
tuple = @te...@pos..@pos+tsize-1]
@pos += 1
return tuple
end
..
aber ich hätte lieber each_tuple(tsize) für die elegante Ruby-Syntax
my_text_buffer.each_tuple(2) do |tuple|
# do_somethig
end
Hat jemand eine Idee, wie man das implementiert?
Gefunden habe ich bisher http://www.ruby-forum.com/topic/175637
Aber da wird ja nur die each-methode durchgereicht.
Viele Grüße
Oliver Haag
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug
--
Karl-Peter Kutz http://rubyforge.de
Merkuranus Software & Service GmbH merkura...@gmx.de
Adam-Schwinn-Str. 21 phone: +49 (0)6157 930043
64319 Pfungstadt, Germany fax: +49 (0)6157 930044
-----------------------------------------------------------------------
Registergericht: Darmstadt HRB 7394 Sitz: 64319 Pfungstadt
Geschäftsführer: Karl-Peter Kutz Ust.-IdNr. DE200771252
=======================================================================
in Zusammenarbeit mit der
-------------------------
ALEVANTi IT-Dienstleistungen eG karl-peter.k...@alevanti.de
81739 München, Germany http://www.alevanti.de
=======================================================================
_______________________________________________
rubyonrails-ug mailing list
rubyonrails-ug@headflash.com
http://mailman.headflash.com/listinfo/rubyonrails-ug