Chinaunix

标题: Ruby笔记四(数组) [打印本页]

作者: 凝望长空    时间: 2012-02-19 19:47
标题: Ruby笔记四(数组)
Ruby笔记四(数组)
  1. #E8.1-1.rb
  2. =begin
  3. 数组的索引从0开始,一直到数组的长度减去1;
  4. 负数表示从数组末尾开始的索引;
  5. 用一对数字来索引数组,第一个数字表示开始位置,第二数字表示从开始位置起的元素数目  
  6. =end
  7. arr=[3,4,5,6,7,8,9]
  8. puts arr[0] #3
  9. puts arr.first #3
  10. puts arr[arr.length-1] #9
  11. puts arr[arr.size-1] #9
  12. puts arr.last #9
  13. puts arr[-1] #9
  14. puts arr[-2] #8
  15. print arr[1..3].join(",") ,"\n" #4, 5, 6
  16. print arr[-3,2] ,"\n" #[7, 8]

  17. #Ruby的数组大小是动态的,你能够随时增加、删除数组元素。
  18. arr=[4,5,6]
  19. print arr.join(", "),"\n" #4, 5, 6

  20. arr[4] = "m" #把4号索引位置元素赋值为"m"
  21. print arr.join(", "),"\n" #4, 5, 6, , m
  22. print arr[3] ,"\n" #打印3号索引位置元素 #nil

  23. arr.delete_at(3) #删除3号索引位置元素
  24. print arr.join(", "),"\n" #4, 5, 6, m

  25. arr[2] = ["a","b","c"] #把2号索引位置元素赋值为["a","b","c"]
  26. print arr.join(", "),"\n" #4, 5, a, b, c, m
  27. print arr[2].join(",") ,"\n" #打印2号索引位置元素 #a,b,c

  28. arr[0..1] = [7,"h","b"] #把0..1号元素替换为7,"h","b"
  29. print arr.join(", "),"\n" #7, h, b, a, b, c, m

  30. arr.push("b" ) #加入元素"b"
  31. print arr.join(", "),"\n" #7, h, b, a, b, c, m, b

  32. arr.delete(["a","b","c"] ) #删除元素["a","b","c"]
  33. print arr.join(", "),"\n" #7, h, b, m, b

  34. arr.delete("b") #删除所有元素"b"
  35. print arr.join(", "),"\n" #7, h, m

  36. arr.insert(3,"d") #在3号索引位置插入元素"d"
  37. print arr.join(", "),"\n" #7, h, m, d

  38. arr<<"f"<<2 #加入元素"f";加入元素2
  39. print arr.join(", "),"\n" #7, h, m, d, f, 2

  40. arr.pop #删除尾元素
  41. print arr.join(", "),"\n" #7, h, m, d, f

  42. arr.shift #删除首元素
  43. print arr.join(", "),"\n" #h, m, d, f

  44. arr.clear #清空数组arr
  45. print arr.join(", "),"\n" #

  46. #数组运算
  47. aaaa=["aa",4,5,"bb"]
  48. bbbb=[4,1,3,2,5]
  49. print (aaaa + bbbb).join(" ") ,"\n" #aa 4 5 bb 4 1 3 2 5
  50. print (aaaa * 2).join(" ") ,"\n" #aa 4 5 bb aa 4 5 bb
  51. print (bbbb - aaaa).join(" ") ,"\n" #1 3 2

  52. #并运算;交运算
  53. print (aaaa | bbbb).join(",") ,"\n" #aa,4,5,bb,1,3,2
  54. print (aaaa & bbbb).join(",") ,"\n" #4,5

  55. #排序;倒置
  56. print bbbb.sort().join(",") ,"\n" #1,2,3,4,5
  57. print aaaa.reverse.join(",") ,"\n" #bb,5,4,aa
  58. 复制代码
复制代码

作者: 小鬼萌萌控    时间: 2012-02-19 19:47
谢谢分享




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2