`
凌川__
  • 浏览: 83269 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

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    
 

 

分享到:
评论

相关推荐

    MATLAB多维数组常用方法

    8.1 多维数组的创建 创建多维数组最常用的方法有以下4种。 (1)直接通过“全下标”元素赋值的方式创建多维数组。 (2)由若干同样尺寸的二维数组组合成多维数组。 (3)由函数ones、zeros、rand、randn等直接...

    TongLINKQ8.1客户端使用手册

    TongLINKQ8.1客户端使用手册 TongLINKQ8.1客户端使用手册是TongTech公司开发的消息中间件产品的客户端使用手册。该手册主要介绍客户端集群简介、客户端集群相关参数配置、C客户端集群接口相关内容及JMS客户端集群...

    DirectX8.1中文版

    DirectX8.1中文版

    Windows SDK 8.1离线包

    Windows SDK 8.1离线包是为开发者提供的一个重要的工具集合,用于构建、调试和部署针对Windows 8.1操作系统的应用程序。这个包包含了开发过程中所需的头文件、库、文档、示例代码以及用于调试和性能分析的工具。下面...

    SecureCRT8.1 注册机 原版下载

    《SecureCRT 8.1 注册机与原版下载详解》 在信息技术领域,远程终端访问工具是系统管理员和开发人员不可或缺的利器,其中SecureCRT是一款广受好评的软件。本文将详细介绍SecureCRT 8.1及其注册机的使用方法,帮助...

    wdk8.1 离线安装包

    在本案例中,我们讨论的是WDK的8.1版本,这是一个离线安装包,意味着它不依赖互联网连接进行安装,这对于没有稳定网络环境或者需要在多台机器上快速部署的情况非常方便。 WDK 8.1 是微软针对Windows 8.1和Windows ...

    Windows Kits 8.1

    《Windows Kits 8.1:深入理解开发工具集》 Windows Kits 8.1 是微软为开发者提供的一个关键性工具集,它包含了构建、测试和调试Windows 8.1应用程序所需的各种组件。这个工具集是2013年发布的重要开发资源,对于...

    secure CRT8.1及注册机

    《SecureCRT 8.1与注册机:网络工程师的得力助手》 SecureCRT是一款深受网络工程师喜爱的终端模拟器,它支持多种协议,包括SSH、Telnet、Serial等,适用于Windows、Mac OS X和Linux等多种操作系统。在本文中,我们...

    weblogic 8.1 plugin for Eclipse 3.4

    weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4

    emule xtreme 8.1下载

    在本例中,我们讨论的是"Emule Xtreme 8.1",一个较早但仍然受用户欢迎的版本。 Emule Xtreme 8.1的特点包括: 1. **速度优化**:此版本对下载和上传速度进行了优化,使得用户在分享和下载文件时能获得更快的体验...

    Win7 64位 RDP升级到8.1.zip

    标题中的“Win7 64位 RDP升级到8.1.zip”指的是针对Windows 7 64位操作系统的一个远程桌面协议(Remote Desktop Protocol, RDP)升级包,该升级包将RDP版本从默认的7.0或7.1升级至8.1。RDP是微软提供的一项功能,...

    wdk8.1 update 最新版

    1. **WDK 8.1 Update**:WDK 8.1 Update是在WDK 8.1基础上的一个增强版本,它提供了一些新的功能和改进,以适应Windows 8.1系统的需求。此版本不仅支持创建传统驱动,还支持开发Modern驱动,如Kernel-Mode Driver ...

    windows8.1仿10终极美化

    在Windows 8.1操作系统中实现“仿10终极美化”是一个追求个性化和提升用户体验的过程。这个主题旨在将Windows 10的一些特色设计元素引入到Windows 8.1中,以提供更现代、简洁和一致的视觉效果。下面将详细阐述这一...

    windows sdk8.1安装

    windows sdk8.1 对于Visual Studio 中出现的无法找到编译器DLL,请确保正确的路径,通过安装Windows SDK8.1离线安装包即可解决。 解决windows7安装vs2013后显示不能找到windowssdkdir,以致不能编译或者链接失败的...

    openssh8.1升级

    openssh8.1升级 OpenSSH是一种安全的网络协议,用于远程登录和文件传输。OpenSSH 8.1是最新版本的OpenSSH协议,提供了许多改进和新功能。以下是OpenSSH 8.1升级的详细步骤和知识点。 安全协议 OpenSSH使用安全协议...

    windows 8.1 sdk 百度云下载.rar

    Windows 8.1 SDK(Software Development Kit)是微软公司为开发者提供的一套工具集,用于构建、测试和调试针对Windows 8.1操作系统的应用程序。SDK包含了一系列开发所需的组件,如编译器、调试器、库文件、头文件...

    Windows-SDK-8.1_C++包

    《Windows SDK 8.1与C++开发详解》 Windows SDK(Software Development Kit)8.1是微软为开发者提供的一套全面的工具集,用于构建、调试和部署针对Windows 8.1及其以上版本的应用程序。它包含了丰富的编程接口、...

    WebLogic Platform 8.1 whith sp3

    WebLogic Platform 8.1 whith sp3 WebLogic 8.1

    directx8.1sdk完整SDK,亲测可用

    DirectX 8.1 SDK是微软为开发者提供的一套用于创建多媒体和游戏应用程序的重要工具集。这个SDK(Software Development Kit)包含了开发DirectX应用程序所需的所有组件、文档、示例代码和工具。DirectX是一个由多个...

    Windows 8.1 ADK

    Windows 8.1 ADK(即Windows Assessment and Deployment Kit)是微软发布的一款强大的工具集,专为系统管理员和开发者设计,用于评估、部署以及配置Windows 8.1操作系统。这个工具套件对于企业环境尤其重要,因为它...

Global site tag (gtag.js) - Google Analytics