基本类型
ruby基本类型有7种,包括数字,字符串,符号,范围,数组,哈希表和正则表达式。
ruby观点:一切都是对象,ruby的内部实现是以指针引用为基础传递。
数字
数字分为整数类和浮点数类.整数类包含定整数(Fixnum类)和大整数类(Bignum类)。
整数和浮点数的继承关系如下:
Fixnum<Integer<Numeric <Object
Bignum<Integer<Numeric<Object
Float<Numeric <Object
Ruby对数字类型定义的一些规则。
- 数字的前面加上0代表一个八进制数。
- 数字的前面加上0x代表一个十六进制数。
- 数字的前面加上0b代表一个二进制数。
- 在一个字符(或ctrl或元字符Meta的组合)前面加上一个问好将创建一个Fixnum的实例,对应于字符的ASCII字符。
整数的部分方法:
- self.chr 返回这个数字代表的ASCII值
- self.downto(int){|i|block} 接收一个block,从大到小循环执行block
- self.upto(int){|i|block} 接收一个block,从小到大循环执行block
- self.times{|i|block} 循环int次,每次执行block中的语句
浮点数部分方法:
- self.ceil:返回比float大的最小整数。
- self.floor:返回比float小的最大整数。
- self.round:对float四舍五入到一个整数。
- self.to_i:返回float截掉小数点后面数字的整数。
2:字符串
任意两个”‘“或”“”符号括起来的字符组合都是字符串。其中“’”和“”“字符串的区别如下:
”‘“括起来的字符串是不解释执行的,”“”括起来的字符串是需要解释执行的。
例如:var=’123‘
print var=’0#{var}' 输出结果:0#{var}
print var=”0#{var}“ 输出结果:0123
打印输出方法
- puts方法:用于打印一个字符串,可以带有多个参数,每个参数都是一个字符串,之间用逗号相连。打印出来的各个字符串之后都是以换行符结束。
- p方法:用于调用obj.inspect方法打印一个对象的信息,如果该方法没有被覆盖,则使用to_s方法。
- print方法:用于打印一个字符串。该方法可以把逗号分割的多个字符串依次显示出来,字符串之间不换行。
- printf方法:同print方法,但不同的是它对转义符进行格式化。
转移符:
单引号接收的转义字符只有”/'",双引号接收”/"“及其他的转义字符。”/t,/n,/r,/f,/b,/a,/e,/s,/x,#{var}"。注意:如果在其他字符前加“/”,依然代表字符本身。
HERE文档
如果需要显示大块的数据,Ruby提供了一种方法:HERE文档。
ruby中通过符号“<<”和一个特殊单词一起作为HERE文档的起始标识,这个特殊单词在单行显示时结束。
例如:a=1
print<<TMP
This is /
here document.
Sum=#{a+1}
TMP
输出结果如下:
This is here document.
sum=2
HERE文档可以定义内容所使用的引号是单引号还是双引号规则。例如
print<<–'THERE'
This is single quoted.
the above THERE used #{a+1}
THERE2 this is not a term word
THERE
显示结果如下:
This is single quoted.
the above THERE used #{a+1}
THERE2 this is not a term word
字符串常用方法:
-
self.length 返回字符串长度
-
self.concat 追加字符串,在追加的时候用obj.to_s将对象变成字符串。
-
self.each_byte{|int| block} 对字符串的每个字节进行操作。
-
self.each_line{newstr=$/){|substr|block}对字符串的每一行进行操作
-
self.strip 去除字符串首尾一切非可见字符,并返回新字符串
-
self.strip! 去除字符串首尾一起非可见字符,并返回自身
-
self.lstrip 返回去除了字符串首部一切非可见字符的新字符串
-
self.lstrip! 去除字符串首部一起非可见字符,并返回自身
-
self.rstrip 返回去除了字符串尾部一切非可见字符的新字符串
-
self.rstrip! 去除字符串尾部一起非可见字符,并返回自身
- self.downcase 返回把字符串转换正小写的新字符串
- self.downcase!把字符串转换正小写并返回自身。
- self.upcase返回把字符串转换正大写的新字符串
- self.upcase!把字符串转换正大写并返回自身。
-