免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2245 | 回复: 1

Ruby笔记四(数组) [复制链接]

论坛徽章:
0
发表于 2012-02-19 19:47 |显示全部楼层
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. 复制代码
复制代码

论坛徽章:
0
发表于 2012-02-19 19:47 |显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP