Derzeit studiere ich, um die Ruby Engineer Certification Exam Silver zu erhalten. Ich habe immer noch viel Verständnis für die Sprache, daher werde ich von den Grundlagen ausgehen.
Auszug aus einer Scheinfrage
foo = [1,2,3]
bar = foo
baz = foo.dup #Objekt kopieren
bar[3] = 4
p foo
p bar
p baz
=>[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3]
Nach welchem Prinzip wird die Aktualisierung des Balkens auf die Variable foo angewendet?
foo = [1,2,3]
bar = foo
baz = foo.dup
p foo.object_id #Geben Sie die referenzierte Objekt-ID aus
p bar.object_id
p baz.object_id
=>70275736077180
70275736077180
70275736077160
Da sich foo und bar auf dasselbe Objekt beziehen, wird foo beim Aktualisieren von bar verwickelt und aktualisiert. Auf der anderen Seite ist baz ein Duplikat des Objekts, sodass das Referenzziel unterschiedlich ist.
Erzeugt ein Array mit der im ersten Argument angegebenen Zeichenfolge als Trennzeichen.
servant = "saber,archer,lancer,rider,assassin,caster,berserker"
p servant.split!(/,/)
=> ["saber", "archer", "lancer", "rider", "assassin", "caster", "berserker"]
Die Anzahl der Elemente im Array kann durch Angabe eines numerischen Werts im zweiten Argument angegeben werden.
servant = "saber,archer,lancer,rider,assassin,caster,berserker"
p servant.split!(/,/, 3)
=> ["saber", "archer", "lancer,rider,assassin,caster,berserker"]
#Das dritte Element ist nicht getrennt und wird zusammen gruppiert.
Löscht das durch das Argument angegebene Zeichen aus self. Add! Um es zu einer destruktiven Methode zu machen.
puts "0123456789".delete("0-58") #"-"Sie können den Bereich durch Sandwiching festlegen(In diesem Fall eine Zahl von 0 bis 5)
=> "679"
To_Be_Continued...
Recommended Posts