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

Antwort per Email an