November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy utworzyć kopię obiektu, którą będzie można modyfikować bez wpływu na oryginał.
Ruby dostarcza dwie metody do wykonywania kopii obiektów; najczęściej używaną jest Object#clone.
s1 = 'foo' # => "foo" s2 = s1.clone # => "foo" s1[0] = 'b' [s1, s2] # => ["boo", "foo"]
W języku Ruby istnieją dwie metody kopiowania obiektów: szybka — Object#dup — i „gruntowna” — Object#clone. Metoda Object#dup tworzy nową instancję tej samej klasy co obiekt oryginalny, po czym nadaje wartości zmiennym instancyjnym nowego obiektu tak, że odwołują się one do tych samych obiektów co odpowiednie zmienne obiektu oryginalnego. Jeżeli obiekt oryginalny oznaczony jest jako naruszony (tainted ...