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 ...
随机推荐
- unity3d android互调
unityPlayer = new AndroidJavaClass("com.xxx.xxx.MainActivity"); curActivity = unityPlayer. ...
- Unity3D Log 收集机制
最近做项目的时候发现,需要有一个完整的log机制.这样不仅方便调试而且方便观察. 一.需求 目前我认为一个完善的log机制应该是这样的. 一.双击定位 二.生命周期是全局的 三.输出包括consloe ...
- orale内置函数COALESCE和GREATEST和LEAST
1. COALESCE 返回该表达式列表的第一个非空value. 格式: COALESCE(value1, value2, value3, ...) 含义: 返回value列表第一个非空的值. val ...
- C Primer Plus 第5章 运算符、表达式和语句 编程练习
1. #include <stdio.h> ; int main(void) { int min, hour, lmin; printf("请输入分钟数: \n"); ...
- Lambda Action Func练习
namespace lambda { delegate void TestDelegate(string s); class Program { static void Main(string[] a ...
- 【mongoDB运维篇②】备份与恢复(导入与导出)
导入/导出可以操作的是本地的mongodb服务器,也可以是远程的服务器 所以,都有如下通用选项: -h host 主机 --port port 端口 -u username 用户名 -p passwd ...
- HTML5入门1---Canvas画布
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- ScannerTest-------double string
import java.util.*; public class ScannerTest { public static void main(String[] args){ Scanner scann ...
- 手动安装UniDAC的过程
每次安装都不一样,而且有时候挺麻烦的,所以记下来.我这次安装过程是这样的: 0. 修改Source\Delphi7\Make.bat,填入正确的IdeDir 1.找到source\delphi7目录, ...
- AngularJS初探:搭建PhoneCat项目的开发与测试环境
AngularJS官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些Android手机,了解它们的详细信息,并进行搜索和排序操作. 对于PhoneCat项目的 ...