Ruby overview

这篇文章用来记录 ruby 的一些基础知识。

  1. 首先来点生动有趣的,ruby 里面的查文档使用命令 ri + 你想要查询的方法,类。还能让输出的内容变好看一点,export RI="--format ansi --width 70" ,然后再 ri

    使用 ri 我并没有查到什么有用的文档,难道是我的出问题了,ruby 的文档还可以到 RubyDoc 查阅。

  2. 跟着我重复两遍,ruby 是一门真正的面向对象的语言,或者说 ruby 是一门完全面向对象的语言。

    对象由构造函数创造出来,ruby 中的构造函数就是它 `new`,比如你有一个类 Song ,创造一个它的对象就是 Song.new("PHP is the best language")

  3. 输入 irb ,可以在命令行中玩耍一下了。比如输出 hello ruby 就是puts "hello ruby" ,另外,语句后面不需要分号。

  4. Ruby 的一些基础:

    定义一个函数:

    def say_hello(name)
        return "hello " + name
    end
    
    puts say_hello("hevin")
    
  5. 快速创建一个数组,a = %w{ a b c d } ,数组不能设置默认值,访问不存在的索引也为 nil 。Hash 创建的时候可以有默认值,任何没有设置过的 key 的值都是默认值,没有设置默认值的时候为 nil 。

  6. Symbols 常常作为 Hash 的 key 来使用,ruby 会让它在程序中保持一个唯一值,且开发人员无需维护它。一般创建 Hash hash_a = {'name' => 'hevin'} ,有了 symbols ,可以这样子了 hash_b = {name: 'hevin'}

  7. Block 是一个代码块,程序中有 yield 的地方都会调用代码块,比如 ['a', 'b', 'c'].each { |item| puts item } ,数组中的每一项作为一个参数传给了 block ,循环数组的时候,每个元素读会调用一次 block 。

  8. Ruby 在命令行中执行的时候可以传参数,参数的个数不限制,在程序中可以使用 ARGV 来获得这些参数,且 ARGV 是一个数组。

2016/8/4 19:47 PM posted in  Ruby