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

Ruby学习笔记(1)

    博客分类:
  • Ruby
阅读更多
  1. 调用函数时,圆括号不是必须的。
  2. 类名的第一个字母必须大写。类的成员变量使用@作为开头标记。类的成员变量不能被外部直接访问,也就是说所有的成员变量都是private的。
  3. return关键字不是函数必须的,如果忽略使用return,则函数最后一个表达式的值就是默认return的值。为了避免混淆,建议显示使用return关键字。
  4. initialize方法是在类的构造方法被调用完之后紧接着被调用的,所有的初始化工作都可以在这里完成。
  5. inspect方法可以用来洞悉对象的内部构造。p函数是inspect方法的快键方式。
  6. super关键字用来调用当前方法的父类方法。如果仅写super没有括号没有参数列表,那么当前方法的所有参数都传入super;如果在调用super时带有括号和参数列表,那么仅传入指定参数到super;如果在调用super时带有括号而没有参数列表,则没有参数传入super。
  7. 存取方法(Accessor Method)除了传统的get和set形式外,还可以写成def name end 和 def name=(aName) end这样的形式。亦可使用attr_reader、attr_write方法配合symbol创建存取方法。attr_accessor = attr_reader + attr_writer。可以一次性用attr_xxxx定义多个存取方法。
  8. 作用域解析标识 :: ,可以穿越作用域访问常量。
  9. 有类似Objective-C的Category特性,可以为一个ruby的标准类增添方法。
  10. ruby可以自定义字符串分隔符。%Q和%相当于双引号的作用,%q是单引号。例子,%Q[abcdefg],%q/abcdefg/。
  11. 使用 ` 包裹的字符串会被ruby当作操作系统的指令来执行。%x拥有同样的效果。例子,`dir`,%x/dir/。还可以这样写:puts "#{%x/dir/}"。
  12. 字符串的方法中已感叹号结尾的,不会返回一个新的字符串,而是代之以修改原字符串的内容
  13. 对象的object_id方法可以打印它的id
  14. ruby有一种range类型,表达方式如下 start..end 。凡是有顺序的类型都可以作为range的值。start...end,三个点表示忽略范围中最后一个值。to_a方法可以根据range创建一个数组,浮点数除外。
  15. 数组比较操作符 <=> ,0代表相同,-1是左边的小于右边的 1是左边的大于右边的,个人感觉没什么用。。。
  16. 数组可以使用clone方法进行浅层复制。对于数组来说,不仅仅是感叹号结尾的方法会修改自身数据,例如  << clear delete 等都会修改数组自身而不是返回一个修改后的copy。
  17. 数组有 & + - << 等符号作集合运算。数组的flatten方法可以平面化数组元素。
  18. Comparable模块可以为自定类型提供比较方法。写法 include Comparable
  19. ruby中的hash就是其他语言中map或者dict这样的类型。Hash.new(something)可以为hash提供一个索引默认值,在没有索引的情况下,返回这个默认值。如果Hash.new则不提供默认值。在hash找不到匹配索引时,返回nil。 Hash的快捷创建方式 { 'a' => 1, 'b' => 2 }。hash.default可以存取默认值。
  20. Hash的sort方法,其返回值是hash内部的一个数组表示。
分享到:
评论

相关推荐

    Ruby学习笔记

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

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

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

    学习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笔记1ruby笔记1ruby笔记1

    标题中的"ruby笔记1ruby笔记1ruby笔记1"暗示了这是一份关于Ruby编程语言的学习笔记,可能包含了作者在学习过程中的重点、难点以及心得体验。描述中的内容重复了标题,进一步强调了这是关于Ruby的深入学习记录。标签...

    个人ruby学习笔记

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

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

    总的来说,`rubyinstaller-devkit-3.0.2-1-x64 and Ruby 学习笔记.7z`文件包含了一个在Windows上开始Ruby编程所需的基本组件和学习资源。通过安装Ruby和DevKit,你可以轻松地编写、编译和运行Ruby代码,同时结合学习...

    精华ruby学习笔记和代码

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

    学习 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程序的基础。 ##### 示例代码分析 ```...

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

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

    《Java JDK6学习笔记》

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

    Ruby学习笔记一

    笔记: Ruby会默认返回方法中的最后一个值。 如果需要返回多个值,可以用数组来实现。 可以通过强制声明return来返回值。 基础的输出方法是用puts(输出一行),print(直接打印)。 基础的输入方法是gets(读入一行,...

Global site tag (gtag.js) - Google Analytics