Funktioneller Ansatz mit Enumerable # chunk :
%Vor% Wie es funktioniert: Einmal indizierte, aufeinanderfolgende Elemente im Array haben die gleiche x - idx
, also verwenden wir diesen Wert zum Chunk (Gruppierung von aufeinander folgenden Elementen) das Eingabe-Array. Schließlich müssen wir nur die ersten und letzten Elemente jeder Gruppe nehmen, um die Paare zu bilden.
Dies ist fast direkt aus der aufzählbaren # slice_before Methodendokumentation :
%Vor% Dies sollte mit Zeichen, Daten, irgendetwas mit einer .succ
-Methode funktionieren.
Hmm, naja, es ist nicht das Meisterwerk von Tokland, aber ich denke, es könnte eine gute, unkomplizierte Lösung sein. / p> %Vor%
Eine noch einfachere Lösung als @ toklands sehr nette verwendet %Co_de% :
%Vor% Hinweis : chunk_while
wurde in Ruby 2.3 eingeführt
Ein anderer Ansatz
%Vor%Ähnlich wie bei Larsenal, aber mit inject, um das langweilige Zeug zu verwalten.
Tags und Links ruby algorithm arrays range functional-programming