首页 > 学院 > 开发设计 > 正文

Ruby基础知识之数据类型

2019-10-26 19:26:02
字体:
来源:转载
供稿:网友

一、数值类型

(1)整型
整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。
代码如下:
#整型 Integer 以下是一些整型字面量
#字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量
#如以下的0,1_000_000,0xa等
a1=0
#带千分符的整型
a2=1_000_000
#其它进制的表示
a3=0xa
puts a1,a2
puts a3
#puts print 都是向控制台打印字符,其中puts带回车换行符
=begin
这是注释,称作:嵌入式文档注释
类似C#中的/**/
=end

(2)浮点型
代码如下:
#浮点型
f1=0.0
f2=2.1
f3=1000000.1
puts f3 

浮点有个圆整错误,例如:0.4-0.3==0.1
这是不等的。C#中也是如此(采用IEEE-754浮点的都是如此)。因为很多浮点数是用一种近似值来表示的。例如0.1,它只是无限接近0.1。因为0.1不能用二进制精确表示。但0.5可以。
代码如下:
puts 0.3-0.2==0.1 #false
puts 0.8-0.3==0.5 #true
puts 0.8-0.7==0.1 #false

(3)算术操作
加减乘除操作符:+-*/;指数操作符为**
指数不必是整数,例如
代码如下:
#指数算术
puts 2**(1/4)#1与4的商为0,然后2的0次方为1
puts 16**(1/4.0)#1与4.0的商为0.25(四分之一),然后开四次方根

(二)字符串类型
字符串型可以用单引号或双引号表示。两种表式方法双引号推荐使用:双引号转义字符全;双引号中的字面量可以包含表达式。
字符串内插格式为:#{}
代码如下:
name="Ruby"
puts name
puts "#{name+",ok"}"

字符串分界符
可以通过字符串分界符来定义字符串字面量。
%q用于单引号规则
%Q用于双引号规则
分界符成对出现的,例如:(),[],{},两个!!。如果使用!做为分界符,其中字面量中又出现了!号,那么,需要/!来转义。当然,如果其中的字面量中出现了成对的分界符(其实是做为操作符出现的),那不需要转义的。
代码如下:
#分界符
s1=%Q[this ''/ssss123]
puts s1
#字面量中有分界符,一般情况下要做转义操作
s2=%Q!this ''/ssss123/!/!!
puts s2
#字面量中有成对的分界符出现,可以不做转义
s3=%Q(2*(1+1))
puts s3

在大字符串字面量中,不可保证分界符不出现。在ruby中支持header document。即通过定义分界字符串来定义字面量,可大大保证成功率。
通过<<或<<-紧临header 来定义,且结束段单独一行。如果通过<<-来定义的,则结束行前可加空白符。例如:
代码如下:
#分界字符串

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表