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开发的脚本语 ...
随机推荐
- 动态规划---状压dp2
今天模拟,状压dp又没写出来...还是不会啊,所以今天搞一下这个状压dp.这里有一道状压dp的板子题: Corn FieldsCorn Fields 就是一道很简单的状压裸题,但是要每次用一个二进制数 ...
- 3-4 第三天 Generator生成器
Generator是ES6里面的新增规范,ES6其实就是ES2015.ES5.ES6.ES7这些术语大家上网一查就都明白了.JavaScript是一个范程,就是我们说的JS.ES就是ECMA Scri ...
- JDK5.0新特性(静态导入、自动装箱/拆箱、增强for循环、可变参数、枚举、泛形)
JDK5中新增了很多新的java特性,利用这些新语法可以帮助开发人员编写出更加高效.清晰,安全的代码. 这些新特性主要有:1.静态导入2.自动装箱/拆箱3.增强for循环4.可变参数5.枚举6.泛型7 ...
- PCB SLOT槽孔数量计算方法,同CAM350孔数一致 实现方法
最近有好几个写脚本的朋友问我,SLOT槽孔孔的如何计算的,要求孔数与CAM350孔数保持一致. 前几年通过在CAM350里面不断测试,结果是:CAM 350中SLOT槽孔,孔与孔之间最高位,凸位高度值 ...
- 最短路( spfa)
最短路 http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2622 #include <std ...
- css3 选择器 权重问题 (第一部分)
其实我现在写的这些博文笔记都是我很早之前学习的时候所写的笔记,只不过之前是没有写博客的习惯,所以都是写在word文档中个人需要的时候看而已.最近刚刚开了博客,所以想将自己的笔记贴到博客. 但是现在看来 ...
- tp 3.1.3 动态切换模板问题
if($this->isMobile()) { C('DEFAULT_THEME', 'mobile'); // 这里定义手机模板目录 C('TMPL_CACHE_PREFIX', 'm_'); ...
- Mysql 时间、字符串、时间戳互转
时间转字符串 select date_format(now(),'%Y-%m-%d'); 时间转时间戳 select UNIX_TIMESTAMP(now()); 时间戳转时间 ) :: 时间戳转字符 ...
- 文字水平居中和垂直居中的CSS
首先选择一个需要显示文字的选择器,我这里选择的是微信小程序里面的<view>选择器,在其他语言(如html)的选择器里是一样的做法: <view class="btn-it ...
- [PHP][学习笔记][CURL]监测设备运行情况小demo
1.curl获取的web content 不能直接echo到页面,会造成js各种错误 2.想办法处理字符串的截取.拼接 2.1.裁剪html返回的字符串 function cutStringFrom( ...