`
nswish
  • 浏览: 109257 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ruby学习笔记(2)

    博客分类:
  • Ruby
阅读更多
  1. ruby的for语句类似其他语言的for each语句。另外还可以使用迭代语法作循环处理,例如 (1..10).each do |i| puts i end 。迭代对象的body 被称作 block,在||中间的变量被称作 block parameters 。do ... end 的替代 写法是 { ... }。例如, (1..10).each { |i| puts i end }。注意:分隔符必须与each方法在同一行。
  2. while语句。while condition do somethings end 或者 begin somethings end while condition 或者 something while condition 。后者的something至少被执行一次,前者可能一次都不执行。
  3. until语句。相当于 while not ,意思是直到出现指定的情况,循环语句才结束。
  4. loop语句。不判断条件永久循环,除非在循环体中调用break。分隔符可以是 {}, 也可以是do ... end。
  5. 关键字yield用于运行传入函数中的代码块。
  6. if语句中的then关键词用于分隔条件判断和代码。如果代码和条件判断不在同一行,则then可以省略。分号可以用来替代then关键字。
  7. 布尔运算符有英文和符号两种。个人理解是,英文运算符按照次序执行,没有优先级;符号则有。
  8. if ... elsif ... end。else if 在ruby中缩写为elsif。
  9. === 根据不同的类型,会有不同的重载。对range类型来说 === 用于判断 range是否包含输入参数,等价于include?方法。例如, (1..2) === 1 得到 true的结果。不能反过来写,1 === (1..2),意思和前者完全不同。
  10. unless语句。相当于 if not。意思是条件不成立,才执行代码块。如同while,if和unless也有modifier的形式,即something if condition。
  11. ruby的常量列表可以用Object.constants获取。不同于其他语言,ruby的常量是可以重新赋值的,解释器只会给予警告。
  12. case语句。类似于C语言中的switch。完整的形式如下: case [variable, expression] when condition then ... else ... end 。condition可以是用逗号分开的多个值,并且值的类型可以不同。另外也不需要有break关键词,ruby仅执行匹配的代码块。
  13. catch 和 throw。不是异常处理的语句,而是类似于goto的语句。catch配合symbol用来定义代码块,throw用来跳转到指定的代码块。例子:catch(:location) { ... }  throw :location
  14. 类的方法。类的方法仅属于类自身,不能被类的实例调用,同时类也不能调用实例的方法。定义类的方法时,在方法名称前加上类名和一个点。例子:class SomeClass def SomeClass.somemethod ... end end。类的变量使用两个@符合起始,并且在第一次声明时就必须初始化。类也是对象,所以类也有自己的实例变量。
  15. singleton method。一种属于某个实例的独有方法。定义方法时,以实例名加点开头,并且可以在class外部定义。实例的singleton_methods方法可以返回实例的所有singleton方法列表。
  16. 如何判断一个实例是否含有某个方法。使用实例的respond_to?方法,传入的测试方法名用symbol来表示。例子:item.respond_to?(:method_name)
  17. singleton class。类似于singleton method,也可以为某个实例增加独有的方法。而且一次可以加多个方法。写法的形式上是class << instance def method_name ... end end。可以说,和singleton method相比singleton class和它没有多大的差异。两者是以不同的形式做相同的事情 -给指定实例增加独有的方法,以避免再定义新的类型。
  18. 在ruby中,类的实例方法有可见性:public protected private,其中protected比较特殊。protected方法不能在类的外部被实例直接调用,但是可以类的内部被同类型的其他实例调用。也就是说,类的实例方法的可见性是基于scope的。
  19. ruby的语法都是面向表达式的。例如,if语句也有返回值。
  20. 在ruby中,方法名称后面可以带有 ? ! 符号。它们被用于标示谓词。问号一般代表方法将返回一个布尔值;感叹号一般标示此方法危险。在ruby核心类中,通常情况下,表示调用此方法后将改变原有对象。
分享到:
评论

相关推荐

    Ruby学习笔记

    这个暑假回家没事干闲...恩,废话就少提,下面我学习Ruby的各个部分。其中Ruby风格这一部分是开放的,因为我暂时还没有形成自己的风格。我用xmind来记笔记,因此我只是把笔记搬到博客上,看看下面的图。好有爱啊!!!

    学习Ruby的笔记以及Demo源码.zip

    学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及Demo源码.zip学习Ruby的笔记以及...

    ruby学习笔记

    ruby基础笔记,自学笔记,ruby基础语法非常全面ruby基础笔记,自学笔记,ruby基础语法非常全面

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

    RubyStudy-master-ruby学习笔记

    学习 Ruby 的旅程即将开始! Ruby 是一种功能强大、灵活的编程语言,广泛应用于 Web 开发、脚本编写和系统管理等领域。下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的...

    个人ruby学习笔记

    从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、...以上总结了Ruby的一些基础知识点,这些内容对于初学者掌握Ruby编程语言至关重要,同时也是进一步深入学习的基石。

    精华ruby学习笔记和代码

    这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...

    rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z

    Ruby是一种面向对象的脚本语言,它以其简洁、优雅的语法和强大的功能而闻名。...通过安装Ruby和DevKit,你可以轻松地编写、编译和运行Ruby代码,同时结合学习笔记,可以深入理解Ruby语言及其生态系统。

    学习 Ruby 的笔记以及 Demo(简介、语言特性、应用场景、Ruby 注释、Ruby 文件的构造与析构语句Ruby 变量等)

    Ruby 学习笔记 1、简介 定义:一种简单快捷的面向对象脚本语言 开发者:松本行弘 开发时间:1995年 设计目的:A PROGRAMMER'S BEST FRIEND【程序员的最佳朋友】 文件扩展名:rb 2、语言特性 真正的面向对象编程语言 ...

    学习 Ruby 的笔记以及 Demo.zip

    本资源“学习 Ruby 的笔记以及 Demo.zip”显然包含了关于Ruby编程的学习资料和一些实际示例代码,旨在帮助初学者理解并掌握Ruby的基础及进阶特性。 首先,让我们深入了解一下Ruby的核心特性: 1. 面向对象:Ruby是...

    ruby编程学习笔记及demo

    Ruby是一种纯粹的面向对象编程语言。它由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)创建于1993年。 您可以在 www.ruby-lang.org 的 Ruby 邮件列表上找到松本行弘(まつもとゆきひろ/Yukihiro ...

    Ruby自学笔记

    以上是Ruby自学笔记中提及的关键知识点的详细解读,如果要学好Ruby语言,深入理解这些基础知识是非常必要的。Ruby语言的这些特性与规则构成了其独特的编程范式,使得它在动态语言领域中占有一席之地。

    Ruby元编程基础学习笔记整理

    ### Ruby元编程基础学习笔记整理 #### 一、语言构建(Language Constructs) 在Ruby中,诸如变量、类和方法等元素统称为语言构建(Language Constructs)。这些构建块是构成Ruby程序的基础。 ##### 示例代码分析 ```...

    ruby笔记2ruby笔记2ruby笔记2

    "ruby笔记2ruby笔记2ruby笔记2"可能是指一系列关于Ruby学习的笔记,这些笔记可能涵盖了Ruby的基础概念、核心特性以及进阶话题。在Ruby的学习过程中,理解和掌握以下几个关键知识点至关重要: 1. **面向对象编程...

    ruby笔记1ruby笔记1ruby笔记1

    今天,让我们一起打开这份“Ruby笔记1”的神秘面纱,看看这位勇敢的航海者,在学习Ruby的旅途中,都记录了哪些宝贵的经验和感悟。 首先,"学ruby的感受.txt"这份文档似乎在诉说着学习Ruby的旅程。初学者在面对一门...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    本文是一篇关于Redis全套学习笔记的文章,主要介绍了Redis的基础知识、数据结构、持久化、集群、高可用、性能优化等方面的内容。通过本文的学习,读者可以全面掌握Redis的使用和应用,提高自己的技术水平和实践能力...

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    《Java JDK6学习笔记》

    Java、JDK6、良葛、林信良、Java学习笔记 我没看到实体书,不知是否相同, 近些日学习一下ruby方面的,顺便看看java方面的, 这个是Java JDK6的学习笔记电子版, 压缩包里包含两个文件, 一个是chm格式(这个还行吧)...

Global site tag (gtag.js) - Google Analytics