Ruby语言基础学习七:Ruby字符串、数组、

# Ruby 中还支持一种采用 %q 和 %Q 来引导的字符串变量
desc1 = %Q{Ruby 的字符串可以使用 '' 和 ""。}
desc2 = %q|Ruby 的字符串可以使用 '' 和 ""。|

puts desc1
puts desc2


# 字符编码
# Ruby 的默认字符集是 ASCII,字符可用单个字节表示。如果您使用 UTF-8 或其他现代的字符集,字符可能是用一个到四个字节表示。
# 您可以在程序开头使用 $KCODE 改变字符集,
#u==utf-8 ,a=ASCII,e=EUC,n=None
#$KCODE='u' #这个就是设置编码方式

# 字符串内建方法
myStr=String.new("This is test")
foo=myStr.downcase #转换成全部小写
puts "#{foo}"

# 字符串 unpack 指令
# 下表列出了方法 String#unpack 的解压指令。
"abc \0\0abc \0\0".unpack('A6Z6')   #=> ["abc", "abc "]
"abc \0\0".unpack('a3a3')           #=> ["abc", " \000\000"]
"abc \0abc \0".unpack('Z*Z*')       #=> ["abc ", "abc "]
"aa".unpack('b8B8')                 #=> ["10000110", "01100001"]
"aaa".unpack('h2H2c')               #=> ["16", "61", 97]
"\xfe\xff\xfe\xff".unpack('sS')     #=> [-2, 65534]
"now=20is".unpack('M*')             #=> ["now is"]
"whole".unpack('xax2aX2aX1aX2a')    #=> ["h", "e", "l", "l", "o"]



#创建或初始化数组。一种方式是通过 new 类方法:
name=Array.new
name1=Array.new(10) 
puts name1.size 
puts name1.length #以上两个实现的目标一样

# 可以给数组中的每个元素赋值
name2=Array.new(4,"mac")
puts "#{name2}" 

# 您也可以使用带有 new 的块,每个元素使用块中的计算结果来填充
nums=Array.new(10) { |e| e=e*2 } #e是1234···
puts "#{nums}"

# 数组还有另一种方法,[],如下所示:
nums1=Array.[](1,2,3,4,5,6)
puts "#{nums1}"

# 在 Ruby 核心模块中可以有一个只接收单个参数的 Array 方法,该方法使用一个范围作为参数来创建一个数字数组:
digits=Array(0..9)
puts "#{digits}"

# 数组内建方法
# 我们需要有一个 Array 对象的实例来调用 Array 方法。下面是创建 Array 对象实例的方式:
digits1=Array(0..9)
num=digits1.at(6)
puts "#{num}"

# 尝试下面的实例,压缩各种数据。
# 数组 pack 指令
#参考 http://www.runoob.com/ruby/ruby-array.htm
a=["a","b","c"]
n=[65,66,67] #这个也是创建数组的方式
puts a.pack("A3A3A3")
puts a.pack("a3a3a3")
puts n.pack("ccc")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值