8.9. Konwersja i koercja typów obiektów
Problem
Dany jest obiekt pewnego typu; chcemy ów obiekt wykorzystywać tak, jak gdyby był on obiektem innego typu.
Rozwiązanie
W języku Ruby zwykle nie trzeba w tym celu robić praktycznie nic. Ruby nie wymusza bezpieczeństwa typów, chyba że programista wyraźnie tego zażąda. Jeśli klasa B
posiada ten sam zestaw metod co klasa A
, obiekt klasy A
może być wykorzystywany tak, jakby był obiektem klasy B
.
Gdy jednak konieczna jest konwersja między typami danych, Ruby standardowo oferuje metody wykonujące konwersje najczęściej stosowane:
"4".to_i # => 4 4.to_s # => "4" Time.now.to_f # => 1143572140.90932 { "key1" => "value1", "key2" => "value2" }.to_a # => [["key1", "value1"], ["key2", "value2"]]
Zawsze ...
Get Ruby. Receptury now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.