Wie überspringe ich ein paar Iterationen in einer Schleife in Ruby?

8

Angenommen, ich habe den C-Code unter

%Vor%

Wie konvertiert man zu Ruby? Ich weiß, dass wir eine Iteration mit next überspringen können, aber ich muss abhängig vom bedingten Wert einige Iterationen überspringen und ich weiß nicht, wie viele Iterationen vor der Laufzeit übersprungen werden sollen.

Hier ist der Code, an dem ich gerade arbeite (wie von Coreyward erwähnt):

Ich suche nach "Geraden" im Array, dass die Werte weniger als 0,1 sind (weniger als 0,1 wird als "gerade Linie" betrachtet). Die Reichweite muss länger als 50 sein, um als lange "Linie" betrachtet zu werden. Nachdem ich den Zeilenbereich [a, b] gefunden habe, möchte ich die Iterationen zur oberen Grenze b überspringen, damit sie nicht wieder von a + 1 beginnt, und sie wird anfangen, eine neue "gerade Linie" von b + 1

%Vor%

}

    
texasbruce 29.03.2012, 18:02
quelle

2 Antworten

2

Eine andere Möglichkeit ist die Verwendung der Klasse Enumerator :

%Vor%

gibt

%Vor%     
Andrew Grimm 29.03.2012, 22:31
quelle
3

Ihr Fall wird nicht einfach durch typische Ruby-Iteratoren abgedeckt, aber Ruby hat auch gewöhnliche while-Schleifen, die c-for vollständig abdecken können. Das Folgende ist gleichbedeutend mit Ihrer c for-Schleife oben.

%Vor%     
dbenhur 29.03.2012 18:19
quelle

Tags und Links