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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.