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

《Ruby for Rails 中文版》070926

    博客分类:
  • Ruby
阅读更多

第五章 用类组织对象

重定义方法
class C
  def m
    puts "..."
  end
  def m
    puts "........"
  end
end
以第2次定义的方法为准

重新打开类
class C
  def x
  end
end
class C
  def y
  end
end
与下面代码等价
class C
  def x
  end
  def y
  end
end
可以将单个类的代码分散到多个文件中或者一个文件中的多个位置

实例变量和对象状态&初始化对象状态(initialize)
class Ticket
  def initialize(venue,date)
    @venue = venue
    @date = date
  end
  def venue
    @venue
  end
  def date
    @date
  end
end
这时,如果这样调用
th = Ticket.new("Town Hail","11/12/13")
cc = Ticket.new("Convention Center","12/13/14")
puts  "We've created two tickets."
puts "The first is for a #{th.venue} event on #{th.date}."
puts "The second is for an event on #{cc.date}at #{cc.venue}."
输出结果如下:
We've created two tickets.
The first is for a Town Hall event on 11/12/13.
The second is for an event on 12/13/14 at Convention Center.
由于实例变量的作用,整个保存和检索对象信息的过程完成得很好。执行了initialize方法后,每个入场卷对象都有了自己的状态。

方法中的等号&语法糖衣
Ruby允许以等号结束的方法:
def price=(amount)
  @price = amount
end
price=完成与set_price完全一样的工作。可以这样去调用它,等号后面的括号是可选的。
ticket.price=(65.00)

to_i(转换到整数)
y.to_i

split('/')分割字符串
month,day,year = date.splite('/')

实例方法属性
attr_reader :venue等效于
def venue
  @venue
end
attr_writer :price等效于
def price(price)
  @price = price
end
attr_accessor :price等效于
def price=(price)
  @price = price
end
def price
  @price
end

类方法&类的实例方法
类的实例方法引用方法如:
Ticket#price
类方法引用如:
Ticket.most_expensive

Ticket::most_expensive
注意,双引号是访问内建常量的方法,但在这里不是

常量
常量定义通常位于或靠近类定义的顶部
class Ticket
  VENUES = ["Convention Center","Fairgrounds","Town Hail"]
调用:
puts Ticket::VENUES
常量使用双引号作为访问原则
常量可以重新赋值和改变,也可以给常量添加成员(使用<<方法)
例如,在文件routing.rb中有以下代码
Helpers = []
然后在稍后的某个地方有如下代码:
Helpers<< url_helper_name(name).to_sym
Helpers<< hash_access_name(name).to_sym
这段代码产生一个用于辅助方法名的数组,然后向其中插入这两个方法名。事实上只是在付与该名的对象中又添加了几项而已。

继承
如:
class Publication
  attr_accessor :publisher
end
class Magazine < Publication
  attr_accessor :editor
end

分享到:
评论

相关推荐

    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 技术手册(CHM 电子版)

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

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

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

    Ruby中文参考手册

    2. **控制结构**:Ruby中的流程控制有if/else、case、while/until循环、for循环以及块(Proc和Lambda)的使用,这些都是编写逻辑代码的关键部分。 3. **面向对象**: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