=~
- 在string类中,是重载的操作符,用于把左边的字符串用右边的正则表达式进行匹配处理,返回匹配项所在的位置或者nil
- 在regexp类中,“=~”操作符则是把右边的字符串用左边的正则表达式进行匹配处理
sub和sub!用表达式来匹配字符串
gsun和gsub!是字符串类最重要的方法之一,和sub方法的区别:sub只处理第一个匹配到的对象,而gsub则遍历整个字符串,对每一处匹配到的对象加以修改。
数组
定义:
- 标准的定义方式,使用【】符号框选一系列用逗号分割的数据。例如:arr=[1,2,3,4]
- 通过类方法构造数组定义。主要有“[]"和”new“例如:arr=Array[1,2,3,4]或者arr=Array.new
- 一般非限定符生成数组:arr=%W(1 2 3 4 5)
- 其他方式:arr="1 2 3".split()
常用方法
- self& array :数组与,返回两个数组的交集
- self | array:数组或,返回两个数组的并集
- self + array:数组加,返回两个数组的拼接
- self.length:返回数组的长度。
- self.size:同上。
- self.empty?:判断数组是否为空
- self.clear:清空数组
- self<<obj :向数组自身追加元素,返回自身
- self<=>array:数组比较,返回-1,0,1
- self.push(obj):把对象追加到数组的最后一个元素,返回自身。
- self.unshift(obj):把对象追加成数组的第一个元素,返回自身。
- self.shift:返回数组的第一个元素并将其删除,如果数组为空则返回nil
- self.uniq;删除数组里面重复的项,并返回一个新串
- self.uniq!;删除数组里面重复的项,返回nil或者自身
- self.delete(obj):从数组中删除元素,如果元素有重复,将全部删除,如果数组中没有这种元素则返回nil
- self.concat(array):向数组中追加元素,返回自身
- self.reverse:将数组反转,产生一个新数组并返回
- self.reverse!:将数组反转,返回自身
- self[n]:返回数组中第n个元素的元素,超出边界返回nil
- self.join(sepstr=$):将数组元素用设置的分隔符连接起来,返回一个字符串
- self.sort:将数组排序,返回新串。
- self.sort!:将数组排序,返回自身
- self.to_s:把数组导出成为字符串
查找和赋值
查找的方法包括”[]","include?""index"方法等。
- []:返回数组中的元素或子串,该方法有三个原型。self[int]->obj or nil, self[start,length]->subarray or nil.self[range]->subarray or nil
- include?:判断一个对象是否在数组中
- index:找到对象在数组中的位置
赋值:赋值的方法主要是”[]=".