#一、数组引用
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,4] ,"\n" #789,从-3开始 ,打印4个元素,这里只有三个
#Ruby的数组大小是动态的,你能够随时增加、删除数组元素。
print arr.join(", "),"\n" #意思是:将数组arr转换成字符串输出,用", "隔开每个元素,并且换行。
#二、数组编辑
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"
puts arr[0];#由输出可见,元素个数加了一个,即替换之后,成了0..2对应7,h,b
puts arr[1];
puts arr[2];
puts arr.size
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"
#三、数组运算
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 a
松本行宏如约于圣诞节发布了Ruby 1.9。根据Ruby的惯例,小数点后面第一位如果是单数,那么就表明这是一个实验版本,不推荐用于产品环境。所谓“产品环境”,对于目前的Ruby来说,基本上就是Ruby on Rails。从目前RoR社群的反映来看,确实有人正在尝试用Ruby 1.9配合RoR,但是尚属 ......
在使用中ruby的过程中难免会遇到提高性能的问题,由此便想起了ruby线程。但是我在使用中却发现ruby的线程却不能提高性能。我写了以下代码,做了些简单测试。
代码
# -*- coding: GB2312 -*-
require 'date'
# 使用线程,线程的处理代码里没有sleep
def have_thread_no_sleep
p Time.now
thread1 = Thread.new do
......
从命令行启动Ruby解释器时,你不仅可以提供程序文件的名字,而且可以提供一个或多个命令行开关。你选择的开关指示解释器以一种特定的方式运转,并且/或者执行特定的操作。
Ruby命令行开关有20多个,其中有些很少使用,有些则每天被很多Ruby程序员使用。在这里我们将再看几个最常用的。(你已经看到过其中的两个,-c和&ndas ......