簡単な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月