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.