Ich kann mir keinen einzeiligen Weg vorstellen, dies zu tun. Gibt es einen Weg?
Ich kann mir keinen einzeiligen Weg vorstellen, dies zu tun. Gibt es einen Weg?
Antworten:
Was ist mit der unshift
Methode?
ary.unshift(obj, ...) → ary
Stellt Objekte vor sich selbst und bewegt andere Elemente nach oben.
Und im Einsatz:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
shift
und unshift
darüber, welche fügt den Array und der entfernt von dem Feld, fällt ein ‚f‘ aus dem Namen geistig und Sie erhalten ein allzu klares Bild über die Richtung. (Und dann muss man bedenken, dass diese Methoden am "Ende" des Arrays nicht funktionieren .;)
Sie können auch die Array-Verkettung verwenden :
a = [2, 3]
[1] + a
=> [1, 2, 3]
Dadurch wird ein neues Array erstellt und das Original nicht geändert.
Sie können verwenden methodsolver
, um Ruby-Funktionen zu finden.
Hier ist ein kleines Skript,
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Ausführen dieser Drucke
Found 1 methods
- Array#unshift
Sie können Methodsolver mit installieren
gem install methodsolver
irb> require 'methodsolver'
Ursachen LoadError: cannot load such file -- method_source
von ... von /var/lib/gems/1.9.1/gems/methodsolver-0.0.4/lib/methodsolver.rb:2
. Ruby 1.9.3p484, irb 0.9.6, Ubuntu 14.
pry
anstelle vonirb