Nie mogę wymyślić jednego sposobu, aby to zrobić. Czy jest jakiś sposób?
Nie mogę wymyślić jednego sposobu, aby to zrobić. Czy jest jakiś sposób?
Odpowiedzi:
Co z użyciem tej unshiftmetody?
ary.unshift(obj, ...) → ary
Przenosi obiekty na przód jaźni, przesuwając inne elementy w górę.
I w użyciu:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
shifta tym, unshiftco dodaje do tablicy, a które usuwa z tablicy, upuść mentalnie literę „f” z nazw i uzyskasz zbyt wyraźny obraz kierunku. (A potem trzeba pamiętać, że te metody nie działają na „końcu” tablicy;)
Możesz także użyć konkatenacji tablic :
a = [2, 3]
[1] + a
=> [1, 2, 3]
Tworzy to nową tablicę i nie modyfikuje oryginału.
Możesz użyć methodsolverdo znalezienia funkcji Ruby.
Oto mały skrypt
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Uruchamianie tych wydruków
Found 1 methods
- Array#unshift
Możesz zainstalować metody, używając
gem install methodsolver
irb> require 'methodsolver'przyczyny LoadError: cannot load such file -- method_sourceod ... z /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.
pryzamiastirb