Array方法通过它唯一的参数创建 了一个数组。如果参数对象拥有一个定义好的to_ary方法,Array则会调用这个方法来生成一个数组。(记住to_ary是一个数组准转型方法)如果to_ary不存在,Array则会尝试调用to_a方法,如果to_a方法也没有定义,Array会将该对象包装到数组中然后返回它。
>>string="A string "
=>"A string"
>>string.respond_to?(:to_ary)
=>false
>>string.respond_to?(:to_a)
=>false
>>Array(string)
=>["A string "]
>>def string.to_a
>>def string.to_a
>> split(//)
>>end
=>nil
>>Array(string)
=>["A" ," ","s","t","r","i","n","g"]
在不同的数组构造器中,字面构造器 [] 是最为通用的,然后是Array.new 和Array方法,它们各有各的用途,字面构造器是最为简洁的,看到它就能认出是数组,而Array方法则受到to_ary和to_a方法是否可用限制。
数组-Array方法
最新推荐文章于 2022-11-23 13:15:04 发布