在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
(1)整型 整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。 #整型 Integer 以下是一些整型字面量 (2)浮点型 #浮点型 浮点有个圆整错误,例如: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 (3)算术操作 加减乘除操作符:+-*/;指数操作符为** 指数不必是整数,例如 #指数算术 (二)字符串类型 字符串型可以用单引号或双引号表示。两种表式方法双引号推荐使用:双引号转义字符全;双引号中的字面量可以包含表达式。 字符串内插格式为:#{} name="Ruby" 字符串分界符 可以通过字符串分界符来定义字符串字面量。 %q用于单引号规则 %Q用于双引号规则 分界符成对出现的,例如:(),[],{},两个!!。如果使用!做为分界符,其中字面量中又出现了!号,那么,需要\!来转义。当然,如果其中的字面量中出现了成对的分界符(其实是做为操作符出现的),那不需要转义的。 #分界符 在大字符串字面量中,不可保证分界符不出现。在ruby中支持header document。即通过定义分界字符串来定义字面量,可大大保证成功率。 通过<<或<<-紧临header 来定义,且结束段单独一行。如果通过<<-来定义的,则结束行前可加空白符。例如: #分界字符串 字符串操作 (1)用+号进行字符串连接。对于不是字符串的需要to_s方法进行显示转换,才能用于连接。注意的是,连接后的字符串会新建一个对象返回。 (2)用<<号进行字符串连接。此操作符连接字符串,是修改左侧字符串,而不新建对象。 (3)用*号表示重复左侧字符串, (4)字符串截取 通过[]来访问字符串中的子字符串。字符串可以作为字符数组来看待。如果索引为负数,则从右向左取字符。(在1.8和1.9中通过[]访问返回的不同,1.9中取的更符合习惯) 通过[]索引访问进行赋值操作,可以替换字符。 通过[]中两个值进行访问,可以截取子字符串 (5)通过range截取子字符串。 通过range表示的两个都是索引,这个区别于[]中以逗号分隔的一个用于索引,另一个用于长度。 [..]或[…] 其中两个点的为包含区间。 (5)通过索引字符串,来判断包含关系 通过[“字符串’]来判断是否包含此子字符串 (三)字符类型 字符类型通过?+字符来定义。 (四)数组 数组字面量通过[]中以逗号分隔定义,且支持range定义。同时,数组字面量引用同%q,%Q类似的%w,%W分界符。中间以空格分隔。 (1)数组通过[]索引访问 同字符串相似,数据通过索引进行访问。如果有两个数值,则一个表示索引,另一个表示元素个数 (2)通过赋值操作插入、删除、替换元素 (3)通过+,-号进行合并和删除元素,且集合做为新集合出现 (4)通过<<号向原数据追加元素 (5)通过*号重复数组元素 (6)通过|和&符号做并集和交集操作(注意顺序) (五)哈希类型 哈希字面量由逗号分隔的kv对来定义,被包括在花括号之间,kv对以=>来定义 #hash (六)范围类型 通过..或…符号定义范围类型,它有顺序性。 (七)true,false,nil 比较nil值,可以通过: Ojb==nil或 Obj.nil? (八)对象标识、对象的类、类型 对象标识在1.9中可以通过: __id__得到,或object_id 对象的类: Obj.class==String或 Obj.instance_of? String x1="ok" 判断是不是一种类型的实例也可通过:is_a?或=== x1="ok" (九)对象冻结、污染 通过freeze冻结对象,被冻结对象将不可变(所有内部状态都不可变)。如果类被冻结,则类不能添加方法。 通过taint污染对象,被污染的对象会成为污染源(源自它的对象都是被污染的)。通过untaint进行解除污染。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论