Ruby快速入门(二):变量、数字、数组和运算符
来源:互联网 发布:网络神曲排行榜 编辑:程序博客网 时间:2024/04/30 06:40
上一篇文章说了Ruby的安装和运行,也简单的说了下类和对象,这里主要谈谈变量和数字。
先说常量。如果变量名以大写字母开头,就被视为常量,但通常是所有字母都大写。但和其他语言不同,在Ruby中,你仍然可以改变常量的值,当然解释器会抛出一个警告:
这段代码定义了一个名为CONSTANT的常量,并初始化为1。然后对其的改动却是被允许的,但解释器会抛出一个如下所示的警告:
./2.rb:4: warning: already initialized constant CONSTANT
现在开始看变量。在Ruby中,变量都是“无类型”的,不用指定其具体类型,解释器会根据其值自行判断。但Ruby也提供了一些方法来判断变量的当前类型:
第一行代码打印变量1的类型(还记得在Ruby中,一切都是对象吧?!),第二行则是打印1是否是Integer的结果。
同时,Ruby还提供了一些函数进行变量类型的转换,如整数可调用to_f函数转化为浮点数、调用to_s函数转化为字符串等等。
在Ruby中,变量的作用域有以下四种类型(姑且让我用C++的术语描述):以$开头的全局变量、以@@开头的类静态变量、以@开头的类成员变量,以及无前缀的局部变量。对于常量,如果其在类中定义,则其作用域为该类;否则为全局常量。
简单的说下Ruby里的数字。在Ruby中,Integer是整数的基类,和机器字长相同的整数则用Fixnum类表示,大整数则会自动转化为Bignum类型。双精度浮点数则用Float类表示,有理数则用Rational类表示。
然后看看数组。Ruby中的数组用Array类表示,其中每个元素都可以是任意类型的对象。数组的第一个元素下标为0,最后一个元素则可用下标-1来访问。
这里,第一个数组arr1包含3个元素:字符串ele1、数字2和字符串ele3;第二个数组arr2包含2个元素:字符串ele4和数组arr1的一个引用;第3个数组arr3则包含了头两个数组的引用。注意,这里都是传递的引用,而不是拷贝得到了一个新的对象。最后打印3个数组的长度,以及arr1的最后一个元素。
Ruby的数组长度可以动态改变:
Ruby还提供了数组的集合操作:
此外,Ruby还提供了针对数组的排序(sort、reverse)和去除重复元素(uniq)等操作。
最后看看Ruby中的操作符。这里只简单说说和C/C++不同的部分。Ruby中提供了计算幂的运算符**(例如2**8的结果为256),以及平行赋值(例如a, b, c = 1, 2, 3将a、b、c分别赋值为1、2、3)、<=>(相等返回0,大于返回1,小于返回-1),但取消了++和--两个运算符。并且,Ruby中可以使用and(或&&)、or(或||)和not(或!)来进行逻辑运算。
- Ruby快速入门(二):变量、数字、数组和运算符
- C++快速入门 (二) 变量和运算符
- ruby变量和运算符
- Spring 2.0+ JRuby 快速入门二(Ruby快速入门)
- C++编程入门系列之二十七(数组、指针和字符串:指针变量的声明、地址相关运算--“*”和“&”)
- ruby入门_运算符
- C语言基础教程(二)数据类型、变量和运算符
- PHP之二,变量和运算符
- Python学习笔记(一):基础语法、变量类型、运算符(快速入门篇)
- Ruby快速入门(一):安装、运行、类和对象
- Ruby快速入门(四):类和模块
- Ruby快速入门(五):字符串和正则表达式
- Ruby快速入门(一):安装、运行、类和对象
- c#基础入门(1)——变量、运算符、数组
- Ruby 简单入门(二)
- JavaScript快速入门(二)——JavaScript变量
- Ruby中的数组和散列表(二)
- Swift快速入门(三)运算符
- js中的动态跳转
- 好遗憾,和CSDN打交道4年了,才开始写自已的第一篇博客
- VS2005 sp1 快速安装
- 自己
- const 用法
- Ruby快速入门(二):变量、数字、数组和运算符
- JVM优化之调整大内存分页(LargePage)
- C语言字符串处理
- 威博文件管理系统3.0开发版组图(二)——文件管理——大目录文件管理
- u-boot1.1.6移植之一(编译测试)
- C语言字符串处理函数总结
- Java偏向锁实现原理(Biased Locking)
- 测试
- 09 11 30 Java学习笔记