Это может помочь вам начать
У меня нет полного решения, но это может помочь вам начать. Вы можете перейти от примера к массиву объектов Class к строковому представлению автоматически, по крайней мере для некоторых типов, а затем перевести строки ...
$ irb
>> t = { "String" => "string", "Fixnum" => "integer", "Float" => "float" }
=> {"Float"=>"float", "Fixnum"=>"integer", "String"=>"string"}
>> ["xyz", 123, 123.455].map { |x| t[x.class.to_s] }
=> ["string", "integer", "float"]
Вы можете отобразить классы напрямую, на самом деле:
$ irb
>> t = { String => "string", Fixnum => "integer", Float => "float" }
=> {String=>"string", Float=>"float", Fixnum=>"integer"}
>> ["xyz", 123, 123.455].map { |x| t[x.class] }
=> ["string", "integer", "float"]