簡単なRuby構文

私はもっと普及してほしいと思っており、ここでは記事内のコードを読むのに十分な構文を示します。

2003年3月



Rubyは、クラスとメソッドを持つオブジェクト指向言語です。クラスはキーワードclassによって導入され、メソッドはキーワードdefによって導入されます。すべてのブロックはendで終了します。クラス内のインスタンス変数は先頭に@が付いており、グローバル変数は先頭に$が付いています。attr_accessorを使用して、インスタンス変数とアクセサ関数を一緒に宣言できます。メソッドinitializeはオブジェクトが作成されたときに呼び出されます。

Rubyの最も優れた要素の1つはブロックです。ブロックの良い例としてコレクションのループ処理があります。注文のコレクション内の各注文を印刷する構文は2つあります

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#では不便または不可能であり、昔からのSmalltalkerはよく利用しています。($dbhはデータベースハンドルです。これはdbiパッケージでよく使われる略語です)

Rubyの配列は動的なリストです。リテラルは[foo, bar]で作成し、空の配列は[]で作成します。<<を使用して配列に要素を追加します。

Rubyにはハッシュ(連想配列、辞書、ハッシュマップとも呼ばれます)もあります。空のハッシュは{}で作成し、aHash[aKey]を使用して要素にアクセスします。

Rubyでは、複数行の文字列を作成するために「ヒアドキュメント」を使用できます。そのようなテキストブロックはsql = <<-END_SQLで開始します。END_SQLの後に続くすべてのものが文字列の一部です。#{anOrder.price}を使用して動的式を任意の文字列に挿入できます。

Andy HuntとDave Thomasによるピックアックスをお勧めします。ケチな方はオンラインで入手できます。Rubyのホームページはこちらです。


大幅な改訂

2003年3月