#数字分为证书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}

最新文章

  1. 白板编程浅谈——Why, What, How
  2. javascript基础06
  3. js: 从setTimeout说事件循环模型
  4. android ProgressBar 进度条的进度两端是圆角的方法
  5. 【maven】 maven的setting.xml文件的详解
  6. BZOJ 3640 JC的小苹果(逆矩阵)
  7. SGU 385 Highlander(期望)
  8. How to use pagination in Magento
  9. 《学习opencv》笔记——矩阵和图像处理——cvAnd、cvAndS、cvAvg and cvAvgSdv
  10. throws Exception方法异常处理机制
  11. JAVA基础知识总结:三
  12. Java多线程:线程与进程
  13. 【转】Android总结篇系列:Activity生命周期
  14. Python_configparser模块
  15. mysql 冷热备份
  16. Java学习——加法器
  17. JavaBean转xml
  18. C++学习之 类
  19. SQL Server connect to MySQL SQL Server通过LinkServer访问MySQL数据库,并操作mysql数据库代码
  20. EasyUseCase 一款脑图转化 Excel 测试用例工具 (1.2 版本升级)

热门文章

  1. RAD项目结构
  2. span标签里的内容在IE下显示,而在谷歌浏览器下不显示
  3. StringUtils.isNumeric使用
  4. Git stash方法(转)
  5. 0环境设置 - Statspack设置
  6. spring @bean注解
  7. spring利用注解来注册bean到容器
  8. context:component-scan扫描使用上的容易忽略的use-default-filters
  9. linux 查看某一端口的占用情况
  10. Asterisk服务安装配置和启动