Ruby对象、变量和常量
Ruby操作的数据主要有部分:对象、类、变量、常量.
对象
在Ruby中表示数据的基本单位称为对象,在Ruby中一切都是对象.
经常使用对象:
- 数值对象
2、3.14、-5等表示数字的对象,另外还有矩阵、复数、素数、公式的对象. - 字符串对象
“hello world”、”你好”等表示文字的对象 - 数组对象、散列对象
表示多个数据的集合多度系 - 正則表達式对象
正則表達式匹配模式的对象 - 时间对象
比方”2016年1月1日13点”等表示时间的对象 - 文件对象
对文件进行读写操作的对象 - 符号对象
用于识别方法等名称的标签的对象.
类
类(class)就是对象的种类,对象的特性是由类决定的。
| 对象 | 类 |
|---|---|
| 数值 | Numberic |
| 字符串 | String |
| 数组 | Array |
| 散列 | Hash |
| 正則表達式 | Regexp |
| 文件 | File |
| 符号 | Symbol |
某个类的对象也就是某个类的实例(instance)
变量
变量就是对象的名片。Ruby中有四种类型的变量:
- 局部变量(local variable)
- 全局变量(global variable)
- 实例变量(instance variable)
- 类变量 (class variable)
变量的命名方式:
| 变量类型 | 命名方式 |
|---|---|
| 局部变量 | 以英文字母或者下划线(_)开头 |
| 全局变量 | 以$开头 |
| 实例变量 | 以@开头 |
| 类变量 | 以@@开头 |
局部变量和全局变量
局部变量在程序中的有效范围是有效的,在程序某个地方声明的变量名,在其它地方也能够使用。与之相应的是全局变量,全局变量在程序的不论什么地方都是统一个变量。
因为全局变量的值在不论什么地方都有可能被改动。在规模较大大程序中使用会添加程序不必要的复杂度,阅读程序和改动程序会带来麻烦,隐藏一般不使用或少用全局变量。
常量
常量以酬谢英文字母开头,常量一旦赋值就不能够再被改动。比方ruby的执行版本号(RUBY_VERSION)、执行平台(RUBY_PLATFORM)、命令行參数数组(ARGV)等。都是Ruby提前定义好的常量。
保留字
保留字不能用作变量名,否则会报错。
ruby中的保留字:
| LINE | ENCODING | FILE | BEGIN | END |
|---|---|---|---|---|
| =begin | =end | alias | and | begin |
| defined? | do | else | elsif | END |
| ensure | false | for | if | in |
| module | next | nil | not | or |
| redo | rescue | retry | return | self |
| super | then | true | undef | unless |
| until | when | while | yield |
Ruby对象、变量和常量的更多相关文章
- Python--前端基础之JavaScript(JS的引入方式,JS的变量、常量和标识符,JS的数据类型,运算符,流程控制,JavaScript的对象)
JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...
- Java程序,基本数据类型、、数据类型转换、变量和常量、常用运算符
一.基本数据类型 整数类型:byte.short. int(常用).long(较常用) 定义某个变量 int a=10: 浮点类型(小数):float.double(常用) ...
- Java 静态变量,常量和方法
static 关键字 例如:在球类中使用PI这个常量,可能除了本类需要这个常量之外,在另外一个圆类中也需要使用这个常量.这时没有必要 在两个类中同时创建PI这个常量,因为这样系统会将这两个不在同一个类 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- iOS开发Swift篇—(二)变量和常量
iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...
- php标记,变量,常量
php标记 语法:有4种书写格式 1.<?php ... ?> 强烈推荐使用. 如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略) 每句语句都要以分号;结束. ...
- Oracle基础 PL-SQL编程基础(1) 变量和常量
一.什么是PL-SQL PL-SQL是结合了Oracle过程语言和结构化查询语言(SQL)的一种扩展语言.具体来说,PL-SQL就是在普通的SQL语句的基础上增加了编程语言的特点,将数据操作和查询语句 ...
- 李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...
- javascript 概述及基础知识点(变量,常量,运算符,数据类型)
JavaScript概述 1.1 什么是JavaScript: javaScript(简称js),是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.同时也是一种广泛用于客户端Web开发的脚本语 ...
随机推荐
- Java中的锁概念
掌握Java中锁是Java多线程编程中绕不开的知识,只有知道理解Java各种锁才能在编码过程中灵活运用,写出更高效的多线程程序.而理解掌握锁的第一步,可从宏观上对比理解一下各种锁概念. 公平锁/非公平 ...
- bzoj2935 [Poi1999]原始生物——欧拉回路
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2935 考察欧拉回路性质的题目呢: TJ:https://blog.csdn.net/u014 ...
- warning: here-document at line 7 delimited by end-of-file (wanted `rui')
- ECharts-热力图实例
1.引入echarts.js 2.页面js代码 //用ajax获取所需要的json数据 $.get("../../../mall/queryPageWtSrPost.do", { ...
- (Go)10.流程控制示例
package main import ( "math/rand" "fmt" ) func main() { //var n int n := rand.In ...
- IntelliJ IDEA/PyCharm/WebStorm 2019.1.2 注册码激活
[IDEA2019.1.2最新版版本激活,直接查看底部] 网上IntelliJ IDEA激活方式大多均已失效,目前常用激活方式为License Server 激活: http://idea.imsxm ...
- Nightmare --- 炸弹时间复位
题目大意: 该题为走迷宫,其条件有如下6个: 1, 迷宫用二维数组来表示: 2, 人走动时不能越界,不能在墙上走: 3, 当走到出口时,若剩余时间恰好为0,则失败: 4, 找到炸弹复位装置,若剩余时间 ...
- Could not create the view: An unexpected exception was thrown. Myeclipse空间报错
我的路径D:\MyEclipse 10\.metadata\.plugins\org.eclipse.core.runtime\.settings 我也遇到过这个问题,就是工作空间的问题好像是删除你工 ...
- C#之密封类(详解)
10.3 密封类与密封方法 如果所有的类都可以被继承,那么很容易导致继承的滥用,进而使类的层次结构体系变得十分复杂,这样使得开发人员对类的理解和使用变得十分困难,为了避免滥用继承,C#中提出了密封类 ...
- Laravel5.1学习笔记7 视图
视图 (View) 基本用法 传递数据到视图 在多个视图中分享数据 视图组件 #基本用法 视图里面包含了你应用程序所提供的 HTML 代码,并且提供一个简单的方式来分离控制器和网页呈现上的逻辑.视 ...