8.10. Prezentowanie obiektu w postaci czytelnej dla człowieka

Problem

Chcemy uzyskać naturalnie wyglądającą reprezentację obiektu.

Rozwiązanie

W większości przypadków metoda Object#inspect znakomicie spełnia to zadanie, dając obraz obiektu często czytelniejszy niż prosta konwersja na łańcuch.

a = [1,2,3]
puts a
# 1
# 2
# 3

puts a.to_s
# 123

puts a.inspect
# [1, 2, 3]

puts /foo/
# (?-mix:foo)
puts /foo/.inspect
# /foo/

f = File.open('foo', 'a')
puts f
# #<File:0x82b9320>
puts f.inspect
# #<File:foo>

Dyskusja

Nawet najbardziej złożonym strukturom danych można nadać wygląd zbliżony do kodu źródłowego, definiującego te struktury w języku Ruby. Często wynik produkowany przez metodę inspect nadaje się wprost do odtworzenia obiektu, ...

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.