Wie kann ich am einfachsten konvertieren?
[x1, x2, x3, ... , xN]
zu
[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]]
Wie kann ich am einfachsten konvertieren?
[x1, x2, x3, ... , xN]
zu
[[x1, 2], [x2, 3], [x3, 4], ... , [xN, N+1]]
Wenn Sie Ruby 1.8.7 oder 1.9 verwenden, können Sie die Tatsache nutzen, dass Iteratormethoden wie each_with_index
wenn sie ohne einen Block aufgerufen werden, ein Enumerator
Objekt, das Sie aufrufen können Enumerable
Methoden wie map
an. Das können Sie tun:
arr.each_with_index.map { |x,i| [x, i+2] }
In 1.8.6 können Sie das tun:
require 'enumerator'
arr.enum_for(:each_with_index).map { |x,i| [x, i+2] }
Ruby hat Aufzähler#mit_index(offset = 0) konvertieren Sie also zunächst das Array in einen Enumerator mit Objekt#zu_enum o Array#Map :
[:a, :b, :c].map.with_index(2).to_a
#=> [[:a, 2], [:b, 3], [:c, 4]]
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.