Ruby的基础知识

Ruby是真正的面向对象语言,你所操作的一切东西都是对象,它们返回的操作结果也是对象。

在Ruby里,实例由类的构造函数创建。标准的构造函数是new。

  song1 = Song.new("Ruby Tuesday")
  song2 = Song.new("Enveloped in Python")
  # and so on

虽然这些实例由同一个类创建,但它们各自有着唯一的特征。

首先,它们有唯一的对象标识(简单理解为对象ID)。

其次,你能定义实例变量,并且变量的值在每个实例中是唯一的。

这些实例变量保存着对象的引用。例如,每首歌可能会有一个实例变量保存歌曲的标题。

在类里面,你可以定义实例方法。方法是一个功能块,它能被类内部或外部(取决于方法的访问约束)调用。

实例方法能够访问实例变量和获取对象的引用。

方法通过向对象发送消息来执行。信息包含方法名和方法所需的参数。

当一个对象收到消息时,它查找自己的类中相应的方法。如果找到,则调用这个方法,如果没找到。。。

这些方法的业务逻辑听起来比较复杂,但其实使用起来很自然。让我们先看一些方法的调用。

  "gin joint".length -> 9
  "Rick".index("c")-> 2
  -1942.abs-> 1942
  sam.play(song)-> "duh dum, da dum de dum ..."

这里Ruby和大部分语言的不同之处值得我们注意。在java中,要得到一个数字的绝对值需要调用另一个方法并把数字传进去。

你可能会这样写:

number = Math.abs(number) // Java code

在Ruby中,数字内置有转换成绝对值的能力。你只要发送消息abs给数字,它就会自动执行了。

number = number.abs

当学习一门新的语言时,许多人都不会喜欢阅读那些枯燥的语法,那么就让我们直接进入正题吧。

我们先从一个简单的Ruby程序开始,我们将写一个方法,它返回个人的问候语。然后我们多次调用这个方法。

  def say_goodnight(name)
    result = "Good night, " + name
    return result
  end
  # Time for bed...
  puts say_goodnight("JohnBoy")
  puts say_goodnight("MaryEllen")

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索对象
, 实例
, 变量
, 方法
, ruby
一个
ruby基础教程、ruby基础教程 pdf、ruby基础教程第4版pdf、ruby基础、ruby基础教程第四版,以便于您获取更多的相关知识。

时间: 2024-09-17 04:16:47

Ruby的基础知识的相关文章

Ruby中关于模块的一些基础知识_ruby专题

模块与类很相似,它也可以说成是"不能被实例化的类".由于Class类是Module类的子类,所以说成是"类=模块+实例化能力"也许更好. 所谓模块,究竟是用来干什么的呢?其作用主要有两大类:Mix-in和命名空间. Mix-in实际上是受限制的多重继承.利用实际做成的继承关系,可以实现对某些类进行一些"点缀"的目的.事实上,Mix-in这种说法就来自于在冰激凌上面的饼干或者坚果. 在面向对象设计的历史中,由多重继承机制造成的问题早已众所周知了.所

Groovy使Spring更出色,第1部分: 集成的基础知识

看看 Groovy 如何增加基于 Spring 的应用程序的灵活性 简介:Spring Framework 为 Web 和企业应用程序提供了坚实的基础.通过支 持 Groovy 等动态语言 ,Spring 添加了一些功能,从而使应用程序架构更加灵活.更具动态性.在包含 2 部分的系列文章 的 第一部分中,您将学习将 Groovy 集成到 Spring 应用程序的基础知识. Spring 2.0 支持将动态语言集成到基于 Spring 的应用程序中.Spring 开箱 即用地支持 Groovy.

学习JavaScript的最佳方法分享_基础知识

学习新的东西是件可怕的事.对我来说,掌握一项新技能最大的问题是,我不知道自己懂什么.鉴于此,定个计划,学习你感兴趣的东西应该会有用.这篇文章的主旨就是:你为学习JavaScript 制定的蓝图.路线.行动计划!你不必担心找不到最好的资源,先整理些不好的资源,再确定下一步该学什么.遵循它,一步一步来. 任务0:了解什么是JavaScript 在你真正开始学习JavaScript 之前,花一分钟了解一下什么是JavaScript,它有哪些功能. JavaScript不是jQuery.Flash或Ja

《Java和Android开发实战详解》——1.2节Java基础知识

1.2 Java基础知识 Java和Android开发实战详解 Java语言类似于C++是一种编译型语言,不过两者并不完全相同,严格说来,Java是结合编译和解释优点的一种编程语言. 1.2.1 Java平台 "平台"(Platform)是一种结合硬件和软件的执行环境.Java既是一种高级的面向对象的编程语言,也是一个平台.Java平台是一种纯软件平台,它可以在各种基于硬件的平台上运行,与硬件无关,主要是由JVM和Java API两个部分组成. 1.JVM虚拟机 JVM(Java Vi

【RAC】RAC相关基础知识

  [RAC]RAC相关基础知识 1.CRS简介    从Oracle 10G开始,oracle引进一套完整的集群管理解决方案--Cluster-Ready Services,它包括集群连通性.消息和锁.负载管理等框架.从而使得RAC可以脱离第三方集群件,当然,CRS与第三方集群件可以共同使用. (1).CRS进程 CRS主要由三部分组成,三部分都作为守护进程出现 <1>CRSD:资源可用性维护的主要引擎.它用来执行高可用性恢复及管理操作,诸如维护OCR及管理应用资源,它保存着集群的信息状态和

基于JVM的动态语言Groovy 基础知识汇总

在使用Java的过程中,和C#的语法相比有些还是比较麻烦,比如异常.get set等问题,毕竟Java的发展时间比C#长了很多,很多问题当初设计时没有考虑到,为了向前兼容,不得不保留一定的历史负担(如泛型的处理,java的擦除法实现就是后续的兼容考虑).不过最近在一个项目中使用groovy grails感觉很是方便,特别groovy和java的集成十分的方便. 下面把groovy涉及的一些基础知识整理一下,供使用参考,groovy本身的文档也很全面,但篇幅太长,如下作为一个简明的参考. 官网 h

RESTful_基础知识

前言 本篇主要是RESTful的基础知识整理,主要是为了将要开始的Openstack架构主题做知识积累.理解好RESTful的设计思想无论是对学习Openstack架构还是Openstack Dashboard实现都是一件事半功倍的事情. RESTful REST(Representational State Transfer):是一种软件架构的设计风格,而不是一种标准.主要用于C/S架构的软件设计,也能很好的支持B/S架构,为软件设计提供了一组原则和约束条件,但这是原则和约束的条件均不具有标准

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

黑马程序员 一、java 概述与基础知识

获取更多资源关注Java帮帮IT资源分享网 一.黑马程序员-java 概述与基础知识 1.何为编程? 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果 的过程. 为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路.方法.和手段通 过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完 成某种特定的任务.这种人和计算机之间交流的过程就是编程.   2.Java 语言概述,历史.特点 是 SUN(Stanford Universit