Ruby Integer (), Array (), et al - co to jest? Skąd oni pochodzą?
Natychmiast natrafiłem na konwersje postaci Array (wartość), String (wartość) i Integer (wartość). Wydaje mi się, że są to tylko cukier syntaktyczny do wywołania odpowiednich wartości.to_a, wartości.do_s lub wartości.to_i.
Zastanawiam się:
Gdzie / jak są one zdefiniowane? Nie mogę ich znaleźć w obiekcie, module, klasie itpCzy są jakieś typowe scenariusze, dla których lepiej jest użyć tych, a nie odpowiedniej / bazowej metody do_X?Czy można je wykorzystać w przymusie rodzajowym? Czy mogę zrobić coś na wzór
[Integer, String, Array].each {|klass| klass.do_generic_coercion(foo) }
? (... i nie, tak naprawdę nie chcę tego robić; znam typ, którego chcę, ale staram się unikać tego przypadku).