可以用class来做。
value.class可以返回对象类型。 然后可以用。
value.is_a? 类型(String, Integer 等等)来查看具体类型。
查询核心模块Kernel API可知:如果是Float类型则通过Kernel.Float(字符串)判断,这里不能转为浮点数则会抛出异常。你只需再捕获一下输出自己的信息就行。
Class Aend
a=A.new
puts "#{a.class}"
puts "#{a.class.class}"
输出结果:
A
Class
所以a.class可以取得a的类的名称