(十一)常用类库----数组类和哈希类

(1)数组类Array

a="hello"
puts a[1]
num=[1,2,3,4,5]
puts num[3]
nums=Array.new
nums[0]=9
nums[2]=7
puts nums
nums2
=Array.new(3,4,5,6)
puts nums2

 

nums=Array.new
nums[0]=9
nums[2]=7
puts nums
nums[1]=8
puts nums

 

字符串就是特殊的数组,字母用单引号或双引号都可以

a="hello"
a[1]='h'
a[2]="s"
puts a

 

数组取交集、并集、全集、差

a=[1,2,3]
b=[2,3,4]
puts "---交集---"
puts a&b
#并集和全集区别在于,全集可以重复,并集则无重复
puts "---并集---"
puts a|b
puts "---全集---"
puts a+b
c
=[9,8,7,2,3,4]
puts "---差---"
puts c-b

 

往数组加入元素,就是最后一个元素赋值,但前提是知道数组多长

a=[1,2,3]
a[3]=4
a[a.length]=5
puts a

 

往数组加入元素的更快捷方法是利用push和pop在末尾弹出弹入

a=[1,2,3]
a.push(8)
a.push(9)
puts a
puts "------"
a.pop
puts a
puts "------"
a.pop
puts a

 

a=[1,2,34]
a.pop(2) #pop后面参数表示一次性弹出2个
puts a

 

逗号改过来就行

a=[1,2,3,4]
a.pop(2) #pop后面参数表示一次性弹出2个
puts a

 

数组插入与删除

a=[1,2,3]
a.insert(2,100) #在下标为2处插入100(下标从0开始)
puts a
puts "------"
a.delete(2) #数组删除不是根据下标,而是根据参数值
a.delete(3)
puts a

 

(2)哈希类Hash

哈希是一个无序集合,里面保存键值对,值可以是多种类型,如下就同时含有字符串类型和整数类型

hashes={"a"=>"hello world","b"=>123}
puts hashes["a"],hashes["b"]
temp=Hash.new
temp["one"]="你好 世界"
temp["two"]=987
puts temp["one"],temp["two"]

 

哈希和数组可以自由转换

hashes={"a"=>"hello world","b"=>123}
puts hashes.class #输出hashes的类型
puts hashes
hashes=hashes.to_a #hashes.to_a没用,要用原来接收不然结果不变
puts hashes.class
puts hashes
hashes=hashes.to_h
puts hashes.class
puts hashes

 

posted @ 2016-01-27 20:26  SixEvilDragon  阅读(228)  评论(0编辑  收藏  举报