简单 Ruby 语法

Ruby 的使用范围并不像我希望的那样广泛。以下是一些 Ruby 语法,可以帮助你阅读我文章中的代码。

2003 年 3 月



Ruby 是一种面向对象的语言,具有类和方法。类使用关键字 class 引入,方法使用关键字 def 引入。所有代码块都以 end 结束。类中的实例变量以 @ 开头,全局变量以 $ 开头。你可以使用 attr_accessor 声明实例变量以及访问器函数。initialize 方法在创建对象时被调用。

Ruby 最棒的元素之一是代码块。循环遍历集合就是一个很好的代码块示例。打印集合中每个订单有两种等效的语法

orders.each {|o| print o}

orders.each do |o|
  print o
end

代码块也适用于自动释放资源。考虑以下代码

  $dbh.select_all("select * from FOO") do |row|
    print row
  end

execute 方法创建必要的语句和结果集对象,并确保在代码块结束时自动关闭它们。在 Java 和 C# 中使用这种代码块很麻烦或不可能,这是老 Smalltalk 程序员非常怀念的东西。($dbh 是数据库句柄 - 缩写是 dbi 包的习惯用法)

Ruby 的数组是一个动态列表。你可以使用 [foo, bar] 创建一个文字数组,使用 [] 创建一个空数组。你可以使用 << 将元素添加到数组中。

Ruby 还具有哈希(也称为关联数组、字典、哈希表)。你可以使用 {} 创建一个空哈希,并使用 aHash[aKey] 访问元素。

Ruby 允许使用“here 文档”来创建多行字符串。你可以使用 sql = <<-END_SQL 开始这样的文本块。END_SQL 之后的所有内容都是字符串的一部分。你可以在任何字符串中使用 #{anOrder.price} 插入动态表达式。

有关 Ruby 的更多信息,我强烈推荐 Andy Hunt 和 Dave Thomas 编写的 pick axe 书籍。如果你很节俭,可以 在线获取。Ruby 的主页在 这里


重大修订

2003 年 3 月