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开发的脚本语 ...
随机推荐
- B1218 [HNOI2003]激光炸弹 dp
这个题其实打眼一看就知道差不多是dp,而且基本确定是前缀和.然后硬钢就行了...直接暴力预处理前缀和,然后直接dp就行. 题干: Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方 ...
- 复习--最小生成树&&并查集
我个人比较喜欢Kruskal算法,所以就把这个方法写了一下,但过不了洛谷,70分. 思路是先全读入,再排序,一条一条加边.运用并查集. #include<iostream> #includ ...
- bzoj3033 太鼓达人——欧拉图搜索
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3033 考虑那 (1<<k) 个数,要形成答案,必然是相邻两个数间有 k-1 个重 ...
- vs code golang代码自动补全
“go.useCodeSnippetsOnFunctionSuggest”: true 文件-->首选项--->设置--->用户设置 添加下行:然后就可以自动补全了,包括() “go ...
- word2vec改进之Hierarchical Softmax
首先Hierarchical Softmax是word2vec的一种改进方式,因为传统的word2vec需要巨大的计算量,所以该方法主要有两个改进点: 1. 对于从输入层到隐藏层的映射,没有采取神经网 ...
- js中 if不判断解决方式
$(function() { $("#number").blur(function() { var number = $('#number').val(); var num = $ ...
- HDU2186
2019-05-30 19:31:10 水题 #include <bits/stdc++.h> using namespace std; int main() { int c; scanf ...
- Android_方向传感器
Android方向传感器小案例,主要代码如下: package com.hb.direction; import android.app.Activity; import android.conten ...
- 阶乘问题-----sum随变量改变而改变
- 使用cookies查询商品详情
易买网项目完工,把一些新知识记录下来,以便以后查阅,也方便他人借阅.介绍使用cookies查询商品详情. 第一步:建立商品实体类. 第二步:连接Oracle数据库. 第三步:使用三层架构. 效果图如下 ...