Ruby基础数据类型
#数字分为证书Integer,浮点数Float(对应与其他语言中的double),和复数Complex
#整数又分为Fixnum和Bignum,Fixnum和Bignum会互相转换,这些都是ruby自动管理的操作。
a=123_333_3432#加入下划线不会影响数字的值
puts a
puts 0b00000010#0b是二进制
puts 0123#0 是八进制
puts 0xa0#十六进制
puts 2<=>2#前者比后者大返回1,相等返回0,比后者小返回-1 #浮点数Float
#String 字符串通常使用单引号或者双引号
str='1233dd'
str="1233ff"
#有时需要构造一个很长并且包含不少单引号,双引号,这样就比较繁琐了
#ruby还提供了%,%q和%Q等字符串表示法,这种表示方式使用的时候后面需要加上一堆分隔符去包含字符串(<>,{},[]等),Here适用于大段文字使用<<开头,并加上开始和结束的标识
str=%{"fdsf'"dsf"}
str=%q{"fdsf'"dsf"}
str=%Q{"fdsf'"dsf"}
str=<<H
sdfsdfsdgasgsaldfjsaldfkjas;dlfkja;sdlkfjlsdfsadfsadfsdfasdfa
H
#嵌入字符串是把变量的一个字符串形式的值签入到另一个字符串中的方法使用格式是#(val),如果val不是字符串类型,则会先调用val的to_s方法进行隐式转换,再行嵌入
name="马欢"
puts "my name is #{name}"
#<<与+相同的效果操作。把给定对象附加到字符串对象上,生成一个新对象。
str<<"新的哈哈"
puts str.include?("哈哈") #符号Symbol类型,内容相同的字符串可能是两个不同的对象,而相同标识符表示的符号在任何地方都引用的是一个相同的实例,指向同一个引用。
#符号与字符串比较,消耗的内存比较少。
a="str"
b="str"
puts a.object_id==b.object_id
sa=:str
sb=:str
puts sa.object_id==sb.object_id
class ChineseNum
Number=['一','二','三','四','五','六','七','八','九','十']
attr:chinese_num
def initialize(value)
@chindes_num=value if Number.include?(value)
end
def to_num
Number.index(@chindes_num)+1 if @chindes_num
end
def to_s
@chindes_num
end
def succ
raise(IndexError, "超出了数字范围") if self.to_num>10
ChineseNum.new(Number[self.to_num])
end
def <=>(other)
self.to_num<=>other.to_num
end
end
def getChinese(val)
ChineseNum.new(val)
end
one=getChinese("一")
four=getChinese("四")
puts one.to_num
puts one.succ
range=ChineseNum.new("一")..four
range.each {|i| puts i}
Ruby基础数据类型的更多相关文章
- Ruby基础类型,动态特性,代码块
#Ruby内置基础数据类型 NilClass,TureClass,FalseClass,Time,Date,String,Range,Struct,Array,Hash #Numerice 1.分为I ...
- java基础数据类型包装类
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- python初认识、基础数据类型以及 if 流程控制
python初认识 CPU.内存.硬盘以及操作系统之间的关系 CPU:中央处理器,计算机的逻辑运算单元 硬盘:长期存储数据的地方,断电不会丢失 内存:位于CPU与硬盘之间,缓解高速CPU与低速硬盘之间 ...
- GoLang基础数据类型--->字典(map)详解
GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...
- day01——python初始、变量、常量、注释、基础数据类型、输入、if
python的历史: 04年Django框架诞生了 内存回收机制是什么(面试题) python2:源码不统一,有重复的功能代码 python3:没有重复的功能代码 python是一个什么的编程语言 编 ...
- python基础数据类型--列表(list)
python基础数据类型--列表(list) 列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增.删.改.查等操作 一列表的增.删.改.查 1增: 1.1增加到最后 append ...
- ruby 基础知识(一)
突然今天发现一大神的博客:http://www.cnblogs.com/jackluo/archive/2013/01/22/2871655.html 相信初学者会受益颇多 ruby 参考文档 ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- TypeScript学习指南第一章--基础数据类型(Basic Types)
基础数据类型(Basic Types) 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了Ja ...
随机推荐
- RedHat Linux下注册Apache为系统服务并设为开机启动
1.系统环境: 操作系统:Red Hat Enterprise Linux Server release 5.4 Apache版本:httpd-2.2.19 2.注册服务 #将apachectl复制到 ...
- Kruskal最小生成树
并查集+kruskal==>MST 效率很低 #include <iostream> using namespace std; #define MAX 105 //自己设置最大值 / ...
- MYSQL存储过程中常使用的命令记录
MYSQL存储过程中常使用的命令记录 1.触发器trigger 查看:show triggers; 2.存储过程procedure 查看:show procedure status; 查看详细:sho ...
- 让DJANGO里的get_success_url定义的reverse_lazy带参数跳转
按一般的CBVS实现,这个是编辑UPDATEVIEW完成之后,跳到LISTVIEW的. 但如果带跳到DETAILVIEW,则reverse_lazy需要带上参数进行跳转. 实现预定义的PK键跳转代码如 ...
- net中使用母版页
.net中使用母版页的优点 母版页提供了开发人员已通过传统方式创建的功能,这些传统方式包括重复复制现有代码.文本和控件元素:使用框架集:对通用元素使用包含文件:使用 ASP.NET 用户控件等.母版页 ...
- C语言中时间调用处理的相关函数介绍
asctime(将时间和日期以字符串格式表示) 相关函数:time,ctime,gmtime,localtime 表头文件:#include<time.h> 定义函数:char * asc ...
- 2014-9-17二班----6 web project
部署 加载 到 Tomcat 6.0 服务器上 web.xml <welcome>index.jsp </welcome> <welcome&g ...
- IntelliJ IDEA 15开发Java Maven项目
1.安装好之后开始创建项目
- c语言头文件和源文件不在同一个目录
http://www.cnblogs.com/ShaneZhang/archive/2013/05/20/3088688.html 从工程上讲,头文件的文件名应该与对应的源文件名相同便于维护,如果头文 ...
- ActiveMQ之消息指针
消息指针(Message cursor)是activeMQ里一个非常重要的核心类,它是提供某种优化消息存储的方法.消息中间件的实现一般都是当消费者准备好消费消息的时候,它会从持久化存储中一批一批的读取 ...