显式的类型转换我们都知道,比如to_a、to_s、to_i方法,显示转化一般用于这样的情形: 源类型和目标类型很大程度上不相关或毫无关联
那么,隐式类型转换是什么呢?
隐式类型转换适用于源类型和目标类型很详尽的情形
ruby核心库和标准库大量使用了隐式类型转换,标准类型转换方法如下:
注:隐式、显式方法目标类都已实现
有了这些方法,我们的有些参数检查就不必使用,可以使用隐式方法代替参数检查
eg
一些首字母大写的强制类型转换方法会调用 这些隐式转换方法,如:Array(),Integer(),String()等,但是这些方法处理逻辑并不一致,有的会有限调用隐式方法、无隐式方法时再调用显式方法,有的是直接调用显式方法;具体情况还要看ruby官网文档
eg:
str = "Ruby"str.split(//).each {|e|print (e.unpack('H*').to_s + "\n")}
#irb
# 52
# 75
# 62
# 79
# =>["R", "u", "b", "y"]