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开发的脚本语 ...
随机推荐
- hdoj--5100--Chessboard(数学推理)
Chessboard Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To ...
- Wireshark抓取RTP包,还原语音
最近在做基于SIP的VoIP通信研究,使用Wireshark软件可以对网络流量进行抓包. VoIP使用RTP协议对语音数据进行传输,语音载荷都封装在RTP包里面.要对传输中的语音进行截获和还原,需要通 ...
- 0505 php-数组、控制语句、函数
数 组 (定义.使用.赋值.遍历.分类.冒泡排序) 1.数组包括元素.下标.数组长度 2.php中的数组长度用$len = count("$数组名"); 3.定义一个数组:$arr ...
- Java多线程技术-Lock/Condition
在java1.5中Lock对象来实现同步的效果,而且使用上更方便. 使用ReentrantLock实现同步 public class MyService { private Lock lock = n ...
- Java并发基础知识点详解
1.synchronized与Lock区别 父类有synchtonized,子类调用父类的同步方法,是没办法同步的,因为synchronized不是修饰符,不会被继承下来. synchronized ...
- prim解决最小生成树问题
#include <iostream> #include <algorithm> #include <stdio.h> #include <math.h> ...
- nginx单机1w并发设置
关闭keep-live,提高链接回收 keeplive_timeout 0; events{ worker_connections 1024; } more /proc/sys/net/core/so ...
- 理解list和vector的区别
原文:http://genwoxuevc.blog.51cto.com/1852984/503337 vector和数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取( ...
- SQLServer2008 去除换行符
declare @str varchar(8000)set @str='SQL语句' select replace(@str,char(10),'')
- 第八章 Python之常用模块
日志模块 import logging import logging #默认级别为warning,默认打印到终端 logging.debug( logging.info( logging.warnin ...