2017-06-01 9 views
0

Ich benutze Ruby 2.4. Ich möchte die ersten aufeinander folgenden übereinstimmenden Elemente in einem Array auswählen, aber wenn ich auf ein Element stoße, das nicht übereinstimmt, möchte ich die Auswahl beenden. Also, wenn ich mit einem Bündel von „a“ 's Strings finden will, könnte ich dies schreibeWie wähle ich nur die ersten übereinstimmenden Elemente aus?

2.4.0 :008 > arr = ["aaaa", "aaaaaaaa", "12345", "aaa"] 
=> ["aaaa", "aaaaaaaa", "12345", "aaa"] 
... 
2.4.0 :010 > arr.select{|string| string.count('a') >= 3 } 
=> ["aaaa", "aaaaaaaa", "aaa"] 

aber unter meinen Regeln, ich will nicht das letzte ‚aaa‘ Element wählen, weil es eine war nicht übereinstimmendes Element davor. Wie ändere ich, was ich habe, damit ich nur die ersten übereinstimmenden Elemente auswähle? Beachten Sie, dass, wenn mein Array

["1111", "aaaaaa"] 

wäre, würde ich nichts, da teh erste Element im Array meine Bedingungen nicht zurückgegeben werden soll nicht überein.

Antwort

Verwandte Themen