易截截图软件、单文件、免安装、纯绿色、仅160KB

Ruby学习笔记二——数组

#一、数组引用
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


相关文档:

rails on ruby exmaples depot

1.install ruby
    download from http://www.ruby-lang.org/en/news/2009/12/07/ruby-1-9-1-p376-is-released/
2.install rails
   ruby gem install rails --include-dependencies
3.install mysql
   download from http://sourceforge.net
   ruby gem install&nb ......

Ruby的装饰器模式实现

class Tree
def initialize
puts "Make a normal tree"
end
def decorate
puts "Make sure the tree won\'t fall"
end
end
class RedBalls < Tree
def initialize(tree)
@parent = tree;
end
def decorate
@parent.decorate
puts "Put on some red balls"
end
end ......

ruby 线程的性能测试

在使用中ruby的过程中难免会遇到提高性能的问题,由此便想起了ruby线程。但是我在使用中却发现ruby的线程却不能提高性能。我写了以下代码,做了些简单测试。
代码
# -*- coding: GB2312 -*-
require 'date'
# 使用线程,线程的处理代码里没有sleep
def have_thread_no_sleep
p Time.now
thread1 = Thread.new do
......

自动化测试之路(三) ruby里的get与set方法

照例可以先看端程序
class Person
 
  def initialize( name,age=18 )
    @name = name
    @age = age
    @motherland = "China"
  end
 
  def talk
    puts "my name is "+@name+", age is "+@age.to_s
 &n ......

Perl,Python,Ruby,Javascript四种脚本语言比较

为了选择一个合适的脚本语言学习,今天查了不少有关Perl,Python,Ruby,Javascript的东西,可是发现各大阵营的人都在吹捧自己喜欢的语言,不过最没有争议的应该是Javascript现阶段还不适合用来做独立开发,它的天下还是在web应用上。 我主要是想做数据挖掘算法的研究,应该会处理大量的文本。提到文本处理,相信大部分人 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号