Non riesco a pensare a un modo a una riga per farlo. C'è un modo?
Non riesco a pensare a un modo a una riga per farlo. C'è un modo?
Risposte:
Che dire dell'utilizzo del unshift
metodo?
ary.unshift(obj, ...) → ary
Prepara gli oggetti alla parte anteriore di sé, spostando altri elementi verso l'alto.
E in uso:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
shift
e unshift
su quale si aggiunge alla matrice e quale si rimuove dalla matrice, elimina mentalmente una 'f' dai nomi e otterrai un'immagine fin troppo chiara della direzione. (E poi devi ricordare che questi metodi non funzionano sulla "fine" dell'array.;)
Puoi anche usare la concatenazione di array :
a = [2, 3]
[1] + a
=> [1, 2, 3]
Questo crea un nuovo array e non modifica l'originale.
È possibile utilizzare methodsolver
per trovare le funzioni di Ruby.
Ecco una piccola sceneggiatura,
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Esecuzione di queste stampe
Found 1 methods
- Array#unshift
È possibile installare methodolver usando
gem install methodsolver
irb> require 'methodsolver'
cause LoadError: cannot load such file -- method_source
da ... da /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
invece diirb