1,数字
ruby是一个完全面向对象的语言,如下图
可以看出ruby每种数字类型都是一个对象,并且各个数组类不需要明确的指出。ruby会根据数字的大小自动转换。
irb(main):002:0> 3.class #数字的类型
=> Fixnum
irb(main):005:0> 10000000000000000000.class
=> Bignum
irb(main):007:0> 3.2.class
=> Float
irb(main):008:0> 3.even? #是否是偶数
=> false
irb(main):010:0> 3.odd? #是否是奇数
=> true
irb(main):012:0> 3.times{p 'love'} #打印三次字符串
"love"
"love"
"love"
=> 3
2,数字类的常用方法
#1.2.to_i 浮点数转成整数
#1.to_f 整数转成浮点数
#1.to_s
#"1".to_i "1".to_f
#1.5.round 四舍五入
#1.5.ceil = 2
#1.5.floor = 1
具体的数字API用法 http://ruby-doc.org/core-2.2.0/Numeric.html
3,String
ruby的字符串是mutable(可变的)就是说字符串对象中字符串是可变的,但是对象不变。
irb(main):013:0> a = '123'
=> "123"
irb(main):015:0> a[0] = '0'
=> "0"
irb(main):016:0> a
=> "023"
irb(main):017:0> a.object_id
=> 70204366116340 #id
irb(main):018:0> a[1] = '4'
=> "4"
irb(main):019:0> a.object_id
=> 70204366116340 #id是一样的,说明ruby的字符串是mutable
irb(main):020:0> a
=> "043"
4,'', "", %q在字符串中的用法
irb(main):022:0> '123' #单引号直接定义一个字符串, 单引号效率上比双引号快
=> "123"
irb(main):023:0> a = '456'
=> "456"
irb(main):024:0> "123#{a}" #双引号直接定义一个字符串,可使用 #{} 进行变量的插入操作
=> "123456"
irb(main):025:0> %q("'eweqrqew"'') #无需转义字符,直接输出内容
=> "\"'eweqrqew\"''"
irb(main):026:0> a = <<-text
irb(main):027:0" 3232
irb(main):028:0" 3223
irb(main):029:0" 324234
irb(main):030:0" text #定义多行字符串
=> "3232\n3223\n324234\n"
5,字符串的常用方法
#1. a = String.new("1111") #创建字符串
# a.length 字符串长度
#a.empty? 字符串是否为空
#a.include?(b) a字符串包含b
#a==b a字符串等于b
具体的StringAPI用法 http://ruby-doc.org/core-2.2.0/String.html