8.1 再说数组

一. 建立一个数组

ruby 代码
  1. #E8.1-1.rb   
  2.   
  3. arr1=[]   
  4. arr2=Array.new  
  5. arr3=['4 ','5 ','6 ']   
  6.   
  7. print arr1,  "\n"  
  8. print arr2,  "\n"  
  9. print arr3,  "\n"  


运行结果:
>ruby E8.1-1.rb


4 5 6
>Exit code: 0

二. 访问数组元素
Ruby以整数作为下标,访问数组元素通过数组下标,数组下标称作数组索引比较好一些。

ruby 代码
  1. #E8.1-2.rb   
  2.   
  3. arr=[3,4,5,6,7,8,9]   
  4.   
  5. puts arr[0]           # => 3   
  6. puts arr.first         # => 3   
  7. puts arr[arr.length-1]  # => 9   
  8. puts arr[arr.size-1]    # => 9   
  9. puts arr.last           # => 9   
  10. puts arr[-1]            # => 9   
  11. puts arr[-2]            # => 8   
  12. print arr[1..3]   ,"\n"   # => 456   
  13. print arr[-3,2]   ,"\n"  # => 78       



数组的索引从0开始,一直到数组的长度减去1;负数表示从数组末尾开始的索引;用一对数字来索引数组,第一个数字表示开始位置,第二数字表示从开始位置起的元素数目。

三. 增加、删除数组元素
Ruby的数组大小是动态的,你能够随时增加、删除数组元素。
print arr.join(", "),"\n" 意思是:将数组arr转换成字符串输出,用", "隔开每个元素,并且换行。

ruby 代码
  1. #E8.1-3.rb   
  2.   
  3. arr=[4,5,6]        
  4. print arr.join(", "),"\n"                           # => 4, 5, 6   
  5.   
  6. arr[4] = "m"    #把4号索引位置元素赋值为"m"             
  7. print arr.join(", "),"\n"                           # => 4, 5, 6, , m   
  8. print arr[3] ,"\n"     #打印3号索引位置元素      # => nil   
  9.   
  10. arr.delete_at(3)     #删除3号索引位置元素   
  11. print arr.join(", "),"\n"                           # => 4, 5, 6, m   
  12.   
  13. arr[2] = ["a","b","c"]  #把2号索引位置元素赋值为["a","b","c"]   
  14. print arr.join(", "),"\n"                           # => 4, 5, a, b, c, m   
  15. print arr[2] ,"\n"     #打印2号索引位置元素     # => abc   
  16.   
  17. arr[0..1] = [7,"h","b"]  #把0..1号元素替换为7,"h","b"   
  18. print arr.join(", "),"\n"                           # => 7, h, b, a, b, c, m   
  19.   
  20. arr.push("b" )        #加入元素"b"   
  21. print arr.join(", "),"\n"                           # => 7, h, b, a, b, c, m, b   
  22.   
  23.   
  24. arr.delete(["a","b","c"] )    #删除元素["a","b","c"]   
  25. print arr.join(", "),"\n"                            # => 7, h, b, m, b   
  26. arr.delete("b")         #删除所有元素"b"   
  27. print arr.join(", "),"\n"                            # => 7, h, m   
  28.   
  29. arr.insert(3,"d")      #在3号索引位置插入元素"d"   
  30. print arr.join(", "),"\n"                            # => 7, h, m, d   
  31.   
  32. arr<<"f"<<2         #加入元素"f";加入元素2   
  33. print arr.join(", "),"\n"                           # => 7, h, m, d, f, 2   
  34. arr.pop          #删除尾元素   
  35. print arr.join(", "),"\n"                           # => 7, h, m, d, f   
  36. arr.shift        #删除首元素     
  37. print arr.join(", "),"\n"                          # => h, m, d, f   
  38. arr.clear        #清空数组arr   
  39. print arr.join(", "),"\n"                          # =>    


四. 数组运算

ruby 代码
  1. #E8.1-4.rb   
  2.   
  3. aaaa=[" aa ",4,5," bb "]   
  4. bbbb=[4,1,3,2,5]   
  5.   
  6. print aaaa + bbbb    ,"\n"      # =>  aa 45 bb 41325   
  7. print aaaa * 2        ,"\n"     # =>  aa 45 bb  aa 45 bb   
  8. print bbbb - aaaa    ,"\n"      # => 132   
  9.   
  10.         #并运算;交运算   
  11. print aaaa | bbbb    ,"\n"      # =>  aa 45 bb 132   
  12. print aaaa & bbbb    ,"\n"     # => 45   
  13.   
  14.          #排序;倒置   
  15. print bbbb.sort       ,"\n"     # => 12345   
  16. print aaaa.reverse    ,"\n"     # =>  bb 54 aa  

 


完整阅读,请看我写的 Ruby语言中文教程all in one    
 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值