目录搜索
Ruby用户指南3、开始4、简单的例子5、字符串6、正则表达式7、数组8、回到那些简单的例子9、流程控制10、迭代器11、面向对象思维12、方法13、类14、继承15、重载方法16、访问控制17、单态方法18、模块19、过程对象20、变量21、全局变量22、实变量23、局部变量24、类常量25、异常处理:rescue26、异常处理:ensure27、存取器28、对象的初始化29、杂项RGSS入门教程1、什么是RGSS2、开始:最简单的脚本3、数据类型:数字4、数据类型:常量与变量5、数据类型:字符串6、控制语句:条件分歧语句7、控制语句:循环8、函数9、对象与类10、显示图片11、数组12、哈希表(关联数组)13、类14、数据库15、游戏对象16、精灵的管理17、窗口的管理18、活动指令19、场景类Programming Ruby的翻译Programming Ruby: The Pragmatic Programmer's Guide前言RoadmapRuby.new类,对象和变量容器Containers,块Blocks和迭代Iterators标准类型深入方法表达式Expressions异常,捕捉和抛出(已经开始,by jellen)模块基本输入输出线程和进程当遭遇挫折Ruby和它的世界Ruby和Web开发Ruby TkRuby 和微软的 Windows扩展RubyRuby语言 (by jellen)类和对象 (by jellen)Ruby安全反射Reflection内建类和方法标准库OO设计网络和Web库Windows支持内嵌文档交互式Ruby Shell支持Ruby参考手册Ruby首页卷首语Ruby的启动环境变量对象执行结束时的相关处理线程安全模型正则表达式字句构造程序变量和常数字面值操作符表达式控制结构方法调用类/方法的定义内部函数内部变量内部常数内部类/模块/异常类附加库Ruby变更记录ruby 1.6 特性ruby 1.7 特性Ruby术语集Ruby的运行平台pack模板字符串sprintf格式Marshal格式Ruby FAQRuby的陷阱
文字

    数组的生成: 

举例:

a=[" Allex"," 国家 "," 颂歌 "] 

上面的代码生成一个字符串数组,有3个单元。

通过下标来访问数组单元

举例:

a=[" Allex"," 国家 "," 颂歌 "] 
p a[0] #=>" Allex"
p a[1] #=>" 国家 "
p a[2] #=>" 颂歌 "
 

当给数组变量赋值时下标按从做到右,从0开始的次序来分配。

数组可以容纳任意类型的对象,即使是同一个数组也可以容纳不同种类的对象。

举例:

a=[2000," Allex", true,1..50] 
p a #=>[2000," Allex", true,1..50]
 
数组的单元就像变量一样,可以像操作变量一样操作数组单元。

举例:

a = [10, 20, 30] 
a[0] = 100
p a # => [100, 20, 30]

若是下标超出了原来的边界,则自动添加新的数组单元。

举例:

a = [10, 20, 30] 
a[3] = 40
p a # => [10, 20, 30, 40]

Ruby语言的灵活性由此可见一斑。

如果越过了原来的边界,会怎么样:

举例:

a = [10, 20, 30] 
a[5] = 60
p a # => [10, 20, 30, nil, nil, 60] 

nil是与True/False一类的常量,表示空。

数组的操作:

数组是 Array 类的实例,所以查看这个类的定义,就可以看出数组如何操作了。

例如想知道数组的元素数量的情况就使用size属性。String 级的 size 属性返回字符串长度,然而 Array 类的 size 属性返回数组的元素数量。数组为空时size=0。

举例:

a=[" Allex"," 国家 "," 颂歌 "]
p a.size # => 3

如果想知道是否包含就是用include?方法:

举例:

a=[" Allex"," 飞行学院 "," 颂歌 "] 
p a.include?(" 飞行学院 ") # => true
p a.include?(" 人间四月天") # => false 

也可以使用for来循环访问数组单元:

举例:

a=[" Allex"," 中华人民共和国 "," 颂歌 "] 
for s in a
p s
end 

这里用变量 s 来循环访问数组成员。 版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。  
上一篇:下一篇: