字符串、数组、Hash

#单引号字符串
#在单引号字符串中使用单引号,需要在单引号前面加反斜杠(\)
puts 'I won\'t lose'

#双引号字符串
puts "I won't lose"

a = 2
puts "#{a}"    #在""里使用(#{}) 可以计算表达式的值
#创建数组
names = Array.new

names = Array.new(20)
puts names.size

names = Array.new(4,'mam')    #为数组里的每个元素赋值
print names                    #输出["mam", "mam", "mam", "mam"]
puts

names = Array.new(10) { |i| i = i*2  }
print names                    #输出[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
puts

#另外一种表现形式
#nums = Array.[] {1,2,3,4,5}
nums = Array[1,2,3,4,5]
print nums
puts

nums = Array.[](1,2,3,4)
print nums
puts

nums = Array(1..9)
print nums                #输出[1, 2, 3, 4, 5, 6, 7, 8, 9]
puts

#三种创建Array对象的方式
puts Array.[](1,2,3,4).at(0)    #Array.[]()

puts Array[1,2,3].at(1)            #Array[]

puts [1,2,3,4].at(2)            #[]

#一些常用的方法
#...
#创建hash
months = Hash.new    #注意h要大写

#当访问带有默认值的哈希中的任意键时,如果键或值不存在,将返回默认值
months = Hash.new "month"
puts months                #输出{}
puts "#{months[0]}"        #输出month    

h = Hash[1=>'aaa',2=>'bbb','ccc'=>3]
puts h['ccc']

#创建Hash对象
#Hash[[key =>|, value]* ]            ?
#Hash.new
#Hash.new(obj)
#Hash.new { |hash, key| block  }

months = Hash.new
months = {1=>'aaa',2=>'bbb','ccc'=>3}
puts months['ccc']
keys = months.keys
print keys,"\n"

Hash.new { |hash, key| hash[key] =  }

 

arr = ['aa','bb','cc']
puts arr[0]
#创建数组时,使用%w可以省略逗号和引号
arr1 = %w(aa bb cc)
puts arr[2]

 

posted @ 2016-07-15 17:42  Hsinwang  阅读(327)  评论(0编辑  收藏  举报