ruby-数据类型

来源:互联网 发布:软件未响应关不掉 编辑:程序博客网 时间:2024/04/27 11:57

ruby


Ruby支持的数据类型有Number、String、Range、Symbols,以及true、false和nil这几个特殊值,还有Array和Hash。

1.1数值类型(Number)

1.1.1整形(Integer)
整形分为两种,一个31位(四字节),一个是63位(八字节)。跟Java的数据类型很相似。

123                  # Fixnum 十进制1_234                # Fixnum 带有下划线的十进制-500                 # 负的 Fixnum0377                 # 八进制0xff                 # 十六进制0b1011               # 二进制"a".ord              # "a" 的字符编码?\n                  # 换行符(0x0a)的编码12345678901234567890 # Bignum

1.1.2浮点型(Float)

123.4                # 浮点值1.0e6                # 科学记数法4E20                 # 不是必需的4e+20                # 指数前的符号

1.1.3算数操作
加减乘除操作符:+-/;指数操作符为*

puts 2**(1/4)#1与4的商为0,然后2的0次方为1 puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根 

1.1.4字符串类型
字符串简单地说是一个8位字节序列,它们是类 String 的对象。
\表示转义。

puts 'escape using "\\"';puts 'That\'s right';puts 'escape using \\';

可以使用#{}的形式替换表达式或者变量名。

puts "Multiplication Value : #{24*60*60}";name="Ruby" puts name puts "#{name+",ok"}" 

常用反斜线符号

符号 表示的字符 \n 换行符 (0x0a) \r 回车符 (0x0d) \f 换页符 (0x0c) \b 退格键 (0x08) \a 报警符 Bell (0x07) \e 转义符 (0x1b) \s 空格符 (0x20)

1.1.5数组
数组字面量通过[]中以逗号分隔定义,且支持range定义。
(1)数组通过[]索引访问
(2)通过赋值操作插入、删除、替换元素
(3)通过+,-号进行合并和删除元素,且集合做为新集合出现
(4)通过<<号向原数据追加元素
(5)通过*号重复数组元素
(6)通过|和&符号做并集和交集操作(注意顺序)

ary = [ "fred", 10, 3.14, "This is a string", "last element", ]ary.each do |i|    puts iend

此处简单了解,之后会详细介绍。

1.1.6哈希类型

hsh = colors = { "red" => 0xf00, "green" => 0x0f0, "blue" => 0x00f }hsh.each do |key, value|    print key, " is ", value, "\n"end

1.1.7范围类型
一个范围表示一个区间。
范围是通过设置一个开始值和一个结束值来表示。范围可使用 s..e 和 s…e 来构造,或者通过 Range.new 来构造。
使用 .. 构造的范围从开始值运行到结束值(包含结束值)。使用 … 构造的范围从开始值运行到结束值(不包含结束值)。当作为一个迭代器使用时,范围会返回序列中的每个值。
范围 (1..5) 意味着它包含值 1, 2, 3, 4, 5,范围 (1…5) 意味着它包含值 1, 2, 3, 4 。

(10..15).each do |n|    print n, ' 'end
0 0