`
lzj520
  • 浏览: 212713 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

《Ruby for Rails 中文版》070924

    博客分类:
  • Ruby
阅读更多

第四章 对象和方法

如想列出一个对象固有的方法和清单,可以调用methods方法:p Object.new.methods.sort

对象固有行为
每个对象都有一个唯一的id值。想要看到对象的id值可以在irb:
obj = Object.new
puts "The id of obj is #{obj.object_id}"

respond_to?和send方法
使用respond_to?可以事先判断对象是否能响应给定的消息
obj = Object.new
if obj.respond_to?("talk")
    obj.talk
else
    puts "sorry..."
end
(.)是 用来发送消息的,send实现的功能是完全相同的,可用另一个调用send的办法:_send_
if ticket.respond_to?(request)
    puts ticket.send(request)
else
    puts "no..."
end

必需参数、可选参数及默认参数
def two_or_more(a,b,*c)
a和b是必要参数。*c收集其他所有可能发送给该方法的参数,并将它们放在变量c的数组中。如果想要包含可选参数(*x),那么它必须放在任何飞可选参数的后面

局部变量和变量赋值
def say_goodbye
    x = "Goodbye"
    puts x
end
def start_here
    x = "Hello"
    puts x
    say_goodbye
    puts "Let's check whether x remained the same:"
    puts x
end
start_here
输出:
Hello
Goodbye
Let's check whether x remained the same:
Hello
由此可见,在一个方法的作用域中使用x作为局部变量名不会影响x在另一个方法作用域中的值,局部变量的这种行为特性是由Ruby处理作用域的机制决定的。

变量的重新赋值:
a = Object.new
b= a
尽管变量a和b是不同的变量,但它们引用的是同一个对象
string_1 = "Hello"
string_2 = "Hello"
尽管这两个字符串包含同样的文本,但是他们不是同一个对象,Ruby中的变量不保存对象的值,而是包含了一个到字符串对象的引用。
str = "Hello"
abc = str
str = "Goodbye"
puts str
puts abc
输出:
Goodbye
Hello
在对str进行第二次赋值时,str获得了另外一个字符串对象的引用。从这开始,str和abc互不关联。abc仍然指向旧的字符串。

分享到:
评论

相关推荐

    Ruby for Rails中文版,完整扫描版

    根据给定的文件信息,以下是本书《Ruby for Rails中文版,完整扫描版》的相关知识点概述: 1. 针对Ruby初学者:本书作为入门教材,旨在帮助初学者掌握Ruby语言基础。这对于已经熟悉其他编程语言但尚未接触过Ruby的...

    Ruby for Rails中文版》.(美)David Black ).zip

    《Ruby for Rails中文版》是美国作者David Black所著的一本专为Rails开发者介绍Ruby语言的书籍,旨在帮助读者深入理解Ruby的基础与Rails框架的内在联系。Ruby是一种面向对象的、动态类型的编程语言,它的简洁语法和...

    <<Ruby for Rails中文版>>源代码

    《Ruby for Rails中文版》是一本深入探讨Ruby on Rails框架的书籍,它的源代码提供了丰富的实践示例,帮助读者更好地理解和应用Rails开发技巧。在这个压缩包中,包含了多个与Rails编程相关的文件,如`r4rmusic-1`、`...

    Ruby For Rails(英文版)(清晰文字pdf)

    ### Ruby for Rails 知识点概述 #### 一、书籍背景与重要性 - **书籍定位**:《Ruby for Rails》被广泛认为是学习Ruby语言的必读之作,特别是对于那些希望利用Ruby on Rails(RoR)进行高效Web开发的学习者而言。...

    Ruby For Rails(英文版)(清晰文字pdf+源码)

    Ruby三神书之一(其余的两本是Agile.Web.Development.with.Rails和Rails Recipes,在我的资源列表也有) “本书作者曾经教过我很多Ruby知识……每一个从其他语言转到Rais的人都应该拥用本书。为了充分发挥Rails的...

    Ruby新手学习书(Ruby语言中文教程)和Rails_4_days

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,被广泛应用于Web开发,尤其是与Ruby on Rails框架结合使用。"Ruby新手学习书"和"Rails_4_days"这两个资源是为初学者设计的,旨在帮助他们快速掌握Ruby语言...

    ruby基础教程中文第四版

    《Ruby基础教程(中文第四版)》是深入学习Ruby语言的重要参考资料,由Ruby之父亲自审校并作序推荐,其权威性和准确性不言而喻。 该书涵盖了Ruby的基础知识,包括但不限于以下内容: 1. **变量和常量**:Ruby中的...

    Ruby入门教程中文PDF 附实例

    总之,无论你是对编程感兴趣的新手,还是想扩展技能树的开发者,这份“Ruby入门教程中文PDF 附实例”都将是你宝贵的参考资料。通过学习,你不仅可以掌握Ruby的基础知识,还能体验到编程的乐趣和效率。

    Agile Web Development with Rails中文版 3rd Edition

    本书《敏捷Web开发之Rails应用详解》第三版主要介绍了如何使用Ruby on Rails框架来进行敏捷Web开发。Rails是一个用Ruby语言编写的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,并且强调代码的简洁...

    For-Rails-Beginners::Japanese_symbol_for_beginner:Ruby on Rails的初学者有福了

    本资源"For-Rails-Beginners"显然是为那些希望入门Ruby on Rails的初学者设计的,特别是对于台湾地区和使用传统中文的用户。 在Rails框架中,以下是一些核心概念和知识点: 1. **Ruby语言基础**:在学习Rails之前...

    ruby语言入门教程(中文版)[PDF]

    这个"Ruby语言入门教程(中文版)[PDF]"涵盖了Ruby的基础到进阶内容,适合初学者和希望巩固Ruby知识的开发者。通过阅读并实践教程中的例子,读者可以逐步掌握Ruby编程,并开启在Ruby世界中的探索之旅。

    Ruby中文参考手册

    2. **控制结构**:Ruby中的流程控制有if/else、case、while/until循环、for循环以及块(Proc和Lambda)的使用,这些都是编写逻辑代码的关键部分。 3. **面向对象**:Ruby是面向对象的,每个值都是一个对象。它支持...

    Ruby 技术手册(CHM 电子版)

    这份电子版手册详细介绍了Ruby的核心概念、语法以及常见问题的解决方案,旨在帮助开发者快速掌握并熟练运用Ruby。 在Ruby的世界里,了解基本语法是入门的第一步。这包括变量(局部变量、实例变量、类变量和全局变量...

    Ruby入门教程 pdf文字版

    本教程的中文版将引导你逐步了解并掌握这些知识点,无论你是编程新手还是寻求新挑战的开发者,都能从中受益。通过阅读和实践,你将能够编写出优雅、高效的Ruby代码,并进一步探索这个充满魅力的编程世界。

    ruby中文教程,从基础到深入的让你学习ruby

    Ruby是一种面向对象的、动态...通过这个中文教程,你将掌握其基本语法,理解面向对象编程的概念,熟悉常用的类库和工具,并能够运用Ruby进行实际的项目开发。无论你是初学者还是有经验的开发者,都能从这个教程中受益。

    笨方法学ruby-中文版

    《笨方法学Ruby》是针对初学者的一本中文教程,旨在通过实践性的学习方式帮助读者掌握Ruby编程语言。这本书的特点是强调动手实践,通过一系列的练习来深化对Ruby语法和编程概念的理解。以下是对该书内容及压缩包文件...

    Web开发敏捷之道 应用Rails进行敏捷Web开发第4版 原版书及代码 (rails3.2版)

    Web开发敏捷之道 应用Rails进行敏捷Web开发第4版 原版书及代码 (rails3.2版) 原书名为:Agile Web Development with ...里面包含了第三版的中文版,和第四版 部分内容相似,可提供参考, enjoy rails, good luck ;)

    ruby.rar

    在"ruby.rar"这个压缩包中,包含了三本中文教程,可以帮助初学者和经验丰富的开发者深入理解Ruby语言的核心概念和高级特性。 首先,让我们探讨一下Ruby的基础知识。Ruby由日本人松本行弘(Yukihiro Matsumoto)于1995...

    Ruby语言中文教程

    - 控制结构:Ruby中的条件语句有if/else、unless、case,循环有while、until、for以及块(block)和循环控制关键字如break和next。 - 函数与方法:Ruby中的函数定义使用def关键字,方法可以接收可变数量的参数,...

Global site tag (gtag.js) - Google Analytics