追記あり RubyからCrystalへ移植しようとして躓いた点その1。 Rubyだとオブジェクトに to_s() メソッドが定義されていれば,puts や文字列内の式展開で暗黙のうちに to_s() で文字列変換された結果が使用される。一方,Crystalでは to_s() を定義しただけでは,暗黙の文字列変換で使用されない。 class Person def initialize(name) @name = name end def to_s "Hi, I'm #{@name}." end end puts Person.new("John")