庇护祝福的分享

Be worthy

Ruby中一些特别的数据类型

Range

example:

    1..9
    (1..9).to_a #=>[1,2,3,4,5,6,7,8,9]
    a=["aa","bb","cc","dd"]
    a[0..2]=["aa","bb","cc"]
    a..c
    (a..c).to_a #=>[a,b,c]
    (1..9) ===5           #=> true  #可以用做间隔测试

Symbol

Symbol是ruby特有的一种数据类型,每一个变量都对应这一个同名Symbol值,每个Symbol对应一个内部id,因此查询速度很快,常用于作为键名。

    1.9以前版本只支持 :name => "xieyu"
    新版本同时支持 name:"xieyu"

block

数组和Range可以通过block来进行迭代 example:

    (1..5).each{ |i| puts 2*i}
    #=>2
    #=>4
    #=>6
    #=>8
    #=>10
    花括号可以使用do ... end来代替
    (1..5).each do |i|
        2*i
    end

Hash

Hash本质是一个数组,但是它的索引值不局限于数字,它的索引可以是任何对象。