Ich habe folgendes:
%Vor%Problem ist, dass ich einen Index brauche. Also habe ich das obige mit:
aktualisiert %Vor%Das bricht dann mit dem Fehler ab: undefinierte Methode 'last' für 0: Fixnum
Ideen? Danke
Das Problem, das Sie beobachten, hängt mit der Art und Weise zusammen, wie dem Block Parameter zugewiesen werden. In Ihrem zweiten Beispiel werden Sie feststellen, dass range
ein Array mit einem einzelnen range
und dem passenden datas
enthält, die datas
Variable den Index und i
immer nil
.
Dies liegt daran, dass Ruby Arrays "unplates", wenn es der einzige Parameter für den Block ist. Wenn Sie mehr als einen Typ haben (in diesem Fall ein Array und eine ganze Zahl), müssen Sie Ruby darauf hinweisen, was es tun soll. Der einfachste Weg ist die Verwendung von Klammern.
%Vor% Auf diese Weise wird Ruby wissen, was Sie meinen und das Array in range
und datas
aufteilen. Dies ist tatsächlich eine Funktion von Rubys Zuweisungsoperator in Verbindung mit dem Komma-Operator. Es funktioniert so
Tags und Links ruby ruby-on-rails-3 ruby-on-rails enumerable