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 ...
随机推荐
- hdu 4701 Game 博弈论
思路: ▶ 设 win(i,x,y) 表示当前可以买的物品是 i,先手有 x 元,后 手有 y 元时,先手是否必胜 ▶ win(i,x,y) ⇐⇒∃j((j > i)∧(x ≥ si−sj)∧¬ ...
- Thread的第二天学习
1.Timer 2.TimerTask 3.new Timer().schedule(new TimerTask( public void run(){...} ),long/date [ ...
- lintcode:anagrams 乱序字符串
题目 乱序字符串 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram).如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中. 您在真实的面试中是否遇到过这个 ...
- 【Linux高频命令专题(1)】sort
介绍 sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. ...
- HTML5入门5---HTML5控件元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- :Hibernate逍遥游记-第16管理session和实现对话
1. package mypack; public class Monkey{ private Long id; private String name; private int count; pri ...
- Hibernate逍遥游记-第5章映射一对多-01单向<many-to-one>、cascade="save-update"、lazy、TransientObjectException
1. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hi ...
- GuessFist
import java.util.Scanner; import java.util.Random; /** *跟电脑玩石头剪刀布,需要从控制台输入信息, *然后去判断,然后给予反馈信息 */ pub ...
- 如何删除ArcSde Service服务
1)打开“控制面板”,“服务”,找到“ArcSde Service(somename)”,这里somename就是你的ArcSde服务的真实的名字,记住这个名字(为叙述方便,以下用somename表示 ...
- Android Handler值传递(文)
发送消息: public static class TimeReceiver extends BroadcastReceiver { @Override public void onReceive(C ...