Progmming Ruby学习 第四章

Chapter 4 Containers, Blocks and Iterators

Arrays

索引数组元素

 

a = [1,3,5,7,9]
a[-1]  #=> 9
a[-2]  #=> 7
a[-99]#=>nil

 可以通过负值来索引一个数组,结果是尾部为-1,往前每次加-1

 

获取数组的一部分

 通过指定范围

a = [1,3,5,7,9]
a[1,3]   # => [3,5,7]
a[3,1]   # => [7]
a[-3,2]  # => [5,7]

a[1..3]  # => [3,5,7]
a[1...3] # => [3,5]
a[3..3]  # => [7]
a[-3..-1] # => [5,7,9]

 通过first last

array =[1,2,3,4,5,6,7]
p array.first(4)       #  [1,2,3,4]
p array.last(4)        #  [4,5,6,7]

 改变数组的一部分

 

a = [1,3,5,7,9]
a[2,2] = "cat"      #=> [1,3,"cat",9]
a[2,0] = "dog"      #=> [1,3,"dog","cat",9]
a[1,1] = [9,8,7]    #=> [1,9,8,7,"dog","cat",9]
a[0..3] = []        #=> ["dog","cat",9]
a[5..6] = 99,98     #=> ["dog","cat",9,nil,nil,99,98]
a[1..2] = [1,2,3]    #=> ["dog",1,2,3,nil,nil,99,98]

  等号右边是数组的话,就会左边的数组范围内的元素替换为右边数组的元素。其中左边的范围为0的话,就插入左边指示的位置之前。

数据结构

通过使用不同的方法,数组可以被当作stacks, sets, dequeues, FIFO queues使用

Hashes

h = {'dog' => 'canine', 'cat' => 'feline', 'donkey' => 'asinine'}
h = { dog: 'canine', cat: 'feline', donkey: 'asinine'}
h = {:dog => 'canine', :cat => 'feline', :donkey=> 'asinine'}

 可以在初始化一个hash的时候,指定其默认值

c=Hash.new(0)

 

 这样用不存在的键索引这个hash时,就会返回0

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值