美文网首页
数组和散列操作练习

数组和散列操作练习

作者: 稻草人_b788 | 来源:发表于2018-02-02 21:48 被阅读16次

    一、问题:

    first_class = ['rails', 'ruby', 'l love ruby', {:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }]
    要求从first_class中拿出 ‘l love ruby’ 和 数组 [6,7,8]

    二、解决思路:

    可以看出上面的first_class是一个数组,其中的元素有字符串,也有散列,而"l love ruby"是数组的元素,数组[6,7,8]则是散列的value。
    由此确定我们要捞出数组中"l love ruby"这个数组元素,以及数组元素{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }中的[6,7,8]这个value。
    具体思路如下:
    1.要捞出数组中的元素,可以用下标的方式访问,下标是从0开始
    2.要捞出散列中的value值,可以通过使用key
    3.对散列使用.values可以回传一个数组,通过回传的数组也可捞到想要的value值

    三、操作过程:

    进入终端,执行以下命令:
    1.捞出"I love ruby"
    终端执行:

    first_class[2]
    

    根据数组的数组长度特性
    也可以执行:

    first_class[-2]
    

    同样可以捞出"I love ruby"

    2.捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }
    终端执行:

    first_class[3]
    

    first_class[-1]
    

    均可以捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }

    3.捞出散列{:a=>1,:b=>2,:c=>3,:d=>[6,7,8] }中的[6,7,8]
    终端执行以下命令都可以获得[6,7,8]:
    方案一:使用数组特性获得[6,7,8]
    (1)

    first_class[3].values[3]
    

    (2)

    first_class[3].values[-1]
    

    (3)

    first_class[-1].values[3]
    

    (4)

    first_class[-1].values[-1]
    

    方案2使用散列的key值获取value值[6,7,8]
    (1)

    first_class[3][:d]
    

    (2)

    first_class[-1][:d]
    

    相关文章

      网友评论

          本文标题:数组和散列操作练习

          本文链接:https://www.haomeiwen.com/subject/ukoezxtx.html