- 浏览: 83805 次
- 性别:
最近访客 更多访客>>
最新评论
-
Bernice_liu:
谢谢分享,受益匪浅,适合我——初学者
Ruby语言中文教程all in one -
何枫abc:
怎么感觉Ruby有点像C!!!
3.5 标识名和变量的作用域 3.6 类库 3.7 数据类型 -
何枫abc:
谢谢了!!!你写的很好,现在我正在学Ruby!!!
第二章 运行环境 -
yangzhihuan:
正想知道ruby是怎么样生成像javadoc那样的文档,多谢了 ...
3.1 注释与分行 -
whisper:
从lambda演算的角度说我们并不关心一个东西到底是什么,而只 ...
变量一定要有类型吗(一)
一. 建立一个数组
ruby 代码
- #E8.1-1.rb
- arr1=[]
- arr2=Array.new
- arr3=['4 ','5 ','6 ']
- print arr1, "\n"
- print arr2, "\n"
- print arr3, "\n"
运行结果:
>ruby E8.1-1.rb
4 5 6
>Exit code: 0
二. 访问数组元素
Ruby以整数作为下标,访问数组元素通过数组下标,数组下标称作数组索引比较好一些。
ruby 代码
- #E8.1-2.rb
- arr=[3,4,5,6,7,8,9]
- puts arr[0] # => 3
- puts arr.first # => 3
- puts arr[arr.length-1] # => 9
- puts arr[arr.size-1] # => 9
- puts arr.last # => 9
- puts arr[-1] # => 9
- puts arr[-2] # => 8
- print arr[1..3] ,"\n" # => 456
- print arr[-3,2] ,"\n" # => 78
数组的索引从0开始,一直到数组的长度减去1;负数表示从数组末尾开始的索引;用一对数字来索引数组,第一个数字表示开始位置,第二数字表示从开始位置起的元素数目。
三. 增加、删除数组元素
Ruby的数组大小是动态的,你能够随时增加、删除数组元素。
print arr.join(", "),"\n" 意思是:将数组arr转换成字符串输出,用", "隔开每个元素,并且换行。
ruby 代码
- #E8.1-3.rb
- arr=[4,5,6]
- print arr.join(", "),"\n" # => 4, 5, 6
- arr[4] = "m" #把4号索引位置元素赋值为"m"
- print arr.join(", "),"\n" # => 4, 5, 6, , m
- print arr[3] ,"\n" #打印3号索引位置元素 # => nil
- arr.delete_at(3) #删除3号索引位置元素
- print arr.join(", "),"\n" # => 4, 5, 6, m
- arr[2] = ["a","b","c"] #把2号索引位置元素赋值为["a","b","c"]
- print arr.join(", "),"\n" # => 4, 5, a, b, c, m
- print arr[2] ,"\n" #打印2号索引位置元素 # => abc
- arr[0..1] = [7,"h","b"] #把0..1号元素替换为7,"h","b"
- print arr.join(", "),"\n" # => 7, h, b, a, b, c, m
- arr.push("b" ) #加入元素"b"
- print arr.join(", "),"\n" # => 7, h, b, a, b, c, m, b
- arr.delete(["a","b","c"] ) #删除元素["a","b","c"]
- print arr.join(", "),"\n" # => 7, h, b, m, b
- arr.delete("b") #删除所有元素"b"
- print arr.join(", "),"\n" # => 7, h, m
- arr.insert(3,"d") #在3号索引位置插入元素"d"
- print arr.join(", "),"\n" # => 7, h, m, d
- arr<<"f"<<2 #加入元素"f";加入元素2
- print arr.join(", "),"\n" # => 7, h, m, d, f, 2
- arr.pop #删除尾元素
- print arr.join(", "),"\n" # => 7, h, m, d, f
- arr.shift #删除首元素
- print arr.join(", "),"\n" # => h, m, d, f
- arr.clear #清空数组arr
- print arr.join(", "),"\n" # =>
四. 数组运算
ruby 代码
- #E8.1-4.rb
- aaaa=[" aa ",4,5," bb "]
- bbbb=[4,1,3,2,5]
- print aaaa + bbbb ,"\n" # => aa 45 bb 41325
- print aaaa * 2 ,"\n" # => aa 45 bb aa 45 bb
- print bbbb - aaaa ,"\n" # => 132
- #并运算;交运算
- print aaaa | bbbb ,"\n" # => aa 45 bb 132
- print aaaa & bbbb ,"\n" # => 45
- #排序;倒置
- print bbbb.sort ,"\n" # => 12345
- print aaaa.reverse ,"\n" # => bb 54 aa
完整阅读,请看我写的 Ruby语言中文教程all in one
发表评论
-
8.4 迭代器、代码块、闭包
2007-02-13 06:25 1768先看一句代码: ruby 代码 (1..9). ... -
8.3 正则表达式
2007-02-13 06:13 1561一本入门小书,不想涉及正则表达式,但是正则表达式与Ruby语言 ... -
8.2 再说字符串
2007-02-13 06:07 1346一. 生成一个字符串 字 ... -
7.4 require 和 load
2007-02-13 05:59 1359程序 E7.3-1.rb中先写了Me模块,然后include ... -
7.3 糅和(Mix-in) 与多重继承
2007-02-13 05:55 1807糅和,也译作混合插入,也许就称作 Mix-in 比较合适。 现 ... -
7.1 模块 7.2 命名空间
2007-02-13 05:50 22437.1 模块 我们常常把许 ... -
6.5 访问控制
2007-02-13 05:43 1180在Ruby里,要读取,或是改变对象的属性,唯一的途径是调用对象 ... -
6.4 单例方法
2007-02-13 05:16 1039同一份设计蓝图(类),不同的实例对象,可以表现出不同的行为特征 ... -
6.3 实例变量、类变量、类方法
2007-02-13 05:28 2273学习编程的过程,就是深化理解变量的过程。在面向对象编程中也不例 ... -
6.2 增强父类方法
2007-02-13 04:39 1036如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键 ... -
6.1 重载?重写
2007-02-13 04:11 1926在Java 中,重载(overload)和重写(overrid ... -
5.5 一些编码建议
2007-02-13 03:37 1147这里不是 Ruby语言的编 ... -
5.4 蓝图可以改变吗? ——动态语言
2007-02-13 03:28 776Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能, ... -
5.3 详解变量—— 动态类型
2007-02-13 03:22 1186变量是什么?变量有哪些特征呢?学习编程的过程,就是深化理解变量 ... -
5.1 为什么是Ruby? 5.2 Ruby会长久么?
2007-02-13 03:16 10175.1 为什么是Ruby? 现 ... -
4.5 多态
2007-02-13 03:07 796不同的子类继承一个父 ... -
4.4 继承
2007-02-13 03:04 836如果我们要写一个学生 ... -
4.3 封装
2007-02-13 02:53 930让我们来定义一个类,类名是Person,类名首字母要大写;属性 ... -
4.1 两种思维方式 4.2 对象
2007-02-13 02:47 9334.1 两种思维方式 人们 ... -
3.11 一个综合小练习
2007-02-13 02:05 1025还是求50以内的素数,尽可能地用到本章更多的语法,看程序 E3 ...
相关推荐
8.1 多维数组的创建 创建多维数组最常用的方法有以下4种。 (1)直接通过“全下标”元素赋值的方式创建多维数组。 (2)由若干同样尺寸的二维数组组合成多维数组。 (3)由函数ones、zeros、rand、randn等直接...
TongLINKQ8.1客户端使用手册 TongLINKQ8.1客户端使用手册是TongTech公司开发的消息中间件产品的客户端使用手册。该手册主要介绍客户端集群简介、客户端集群相关参数配置、C客户端集群接口相关内容及JMS客户端集群...
DirectX8.1中文版
Windows SDK 8.1离线包是为开发者提供的一个重要的工具集合,用于构建、调试和部署针对Windows 8.1操作系统的应用程序。这个包包含了开发过程中所需的头文件、库、文档、示例代码以及用于调试和性能分析的工具。下面...
《SecureCRT 8.1 注册机与原版下载详解》 在信息技术领域,远程终端访问工具是系统管理员和开发人员不可或缺的利器,其中SecureCRT是一款广受好评的软件。本文将详细介绍SecureCRT 8.1及其注册机的使用方法,帮助...
在本案例中,我们讨论的是WDK的8.1版本,这是一个离线安装包,意味着它不依赖互联网连接进行安装,这对于没有稳定网络环境或者需要在多台机器上快速部署的情况非常方便。 WDK 8.1 是微软针对Windows 8.1和Windows ...
《全面解析BurnInTest 8.1:稳定性与性能测试的专业工具》 在IT领域,软件测试是确保产品质量的关键环节,尤其是硬件稳定性测试,对于硬件设备制造商和系统集成商而言至关重要。BurnInTest是一款广受好评的硬件稳定...
《Windows Kits 8.1:深入理解开发工具集》 Windows Kits 8.1 是微软为开发者提供的一个关键性工具集,它包含了构建、测试和调试Windows 8.1应用程序所需的各种组件。这个工具集是2013年发布的重要开发资源,对于...
TongLINK/Q 8.1 快速使用手册 TongLINK/Q 8.1 是一款消息中间件产品,主要用于企业级消息交换和集成。该手册主要面向 TongLINK/Q 8.1 产品用户和对消息中间件感兴趣的读者。 TongLINK/Q 8.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
在本例中,我们讨论的是"Emule Xtreme 8.1",一个较早但仍然受用户欢迎的版本。 Emule Xtreme 8.1的特点包括: 1. **速度优化**:此版本对下载和上传速度进行了优化,使得用户在分享和下载文件时能获得更快的体验...
### Android系统8.1源码知识点解析 #### 一、Android系统概述 Android是一个基于Linux内核的操作系统,主要用于移动设备如智能手机和平板电脑。它由Google公司维护,并且是开放源代码项目(AOSP)的一部分。...
1. **WDK 8.1 Update**:WDK 8.1 Update是在WDK 8.1基础上的一个增强版本,它提供了一些新的功能和改进,以适应Windows 8.1系统的需求。此版本不仅支持创建传统驱动,还支持开发Modern驱动,如Kernel-Mode Driver ...
windows sdk8.1 对于Visual Studio 中出现的无法找到编译器DLL,请确保正确的路径,通过安装Windows SDK8.1离线安装包即可解决。 解决windows7安装vs2013后显示不能找到windowssdkdir,以致不能编译或者链接失败的...
在Windows 8.1操作系统中实现“仿10终极美化”是一个追求个性化和提升用户体验的过程。这个主题旨在将Windows 10的一些特色设计元素引入到Windows 8.1中,以提供更现代、简洁和一致的视觉效果。下面将详细阐述这一...
openssh8.1升级 OpenSSH是一种安全的网络协议,用于远程登录和文件传输。OpenSSH 8.1是最新版本的OpenSSH协议,提供了许多改进和新功能。以下是OpenSSH 8.1升级的详细步骤和知识点。 安全协议 OpenSSH使用安全协议...
标题中的“Win7 64位 RDP升级到8.1.zip”指的是针对Windows 7 64位操作系统的一个远程桌面协议(Remote Desktop Protocol, RDP)升级包,该升级包将RDP版本从默认的7.0或7.1升级至8.1。RDP是微软提供的一项功能,...
Windows 8.1 SDK(Software Development Kit)是微软公司为开发者提供的一套工具集,用于构建、测试和调试针对Windows 8.1操作系统的应用程序。SDK包含了一系列开发所需的组件,如编译器、调试器、库文件、头文件...