Ruby
チュートリアル: Rubyの基礎

«チュートリアル: Rubyとは? Top チュートリアル: はじめの一歩 -..»

# チュートリアル: Rubyの基礎

Rubyの「1行プログラム」

スクリプト言語としての雰囲気を知ってもらうためRubyの1行プログラムをいくつか紹介しましょう.

# 由緒正しい Hello world.
print "Hello world\n"
# 入力ファイルの"From "を含む行を印刷する
while gets(); print if /From / end
# ファイルに行番号をつける
while gets(); print $., ":", $_ end
# πの計算
print 4*Math.atan2(1,1), "\n"

Rubyのコメント

Rubyのコメントは#から行末までです.

Rubyの式

Rubyの式は以下のものがあります(主なもの).

文字列
文字列はシングルクォート(')またはダブルクォート(")で囲まれたものです.ダブルクォートで囲まれた文字列ではC言語の文字列と同じようなバックスラッシュ (\)によるエスケープが指定できます.また,#{}で囲んだ範囲内の式の結果が埋め込まれます.
数値
整数,浮動小数点数が扱えます.
配列/連想配列
[]で囲まれた式の並びは配列を返します.{}で囲まれた式の並びは連想配列を返します.
連想配列とは任意の種類のオブジェクトを添字にとる配列です.ハッシュ表とか辞書とか呼ばれることもあります.
変数/定数
Rubyには変数が3種類と定数があります.変数/定数の種別はその最初の1文字で区別できます.
ローカル変数
小文字のアルファベットから始まる.使う時には代入で初期化する必要がある.
グローバル変数
$から始まる.未初期化の値はnil.
インスタンス変数
@から始まる.未初期化の値はnil.
クラス変数
@@から始まる.未初期化の値はnil.
クラス定数
大文字のアルファベットから始まる.未初期化の値はnil.
代入
変数への代入は以下の形式です.
変数 = 式
メソッド(関数)呼び出し
あるオブジェクトに固有の操作(メソッド)を実行するための形式は以下の通りです.
式 . メソッド名
式 . メソッド名 ( 式..)
曖昧でない限り引数の括弧は省略できます.
メソッドの実行主体であるselfのメソッド呼び出しは最初の式を省略できます.
メソッド名
メソッド名 ( 式..)
引数の無いメソッド呼び出しとローカル変数の参照は代入の有無で区別されます.
演算子式
通常の数式は(C言語とほぼ同じ)演算子を使って表現できます.ただし,内部的には演算子も(演算子を名前に持つ)メソッド呼び出しとして処理されています.

Rubyの文

Rubyでは任意の式をセミコロン(;)または改行で区切った並びを文とします.文の値は一番最後に実行された式の値です.

Rubyの制御構造

Rubyでは以下の制御構造が使用できます.

  • if 式 then 文 [elsif 式 then 文].. [else 文 ]end
  • case 式 when 式..; 文... [else 文 ]end
  • while 式; 文 end
  • for 変数.. in 式; 文 end

ifwhileの意味は通常の言語とほぼ同じです.if文のthenはセミコロンまたは改行で代用できます.C言語ではelse ifと記述するものがRubyではelsifとひとつになっていることに気をつけてください.

caseは複数の比較をひとつにまとめるための制御構造です.

forは配列などの要素をひとつずつ変数に代入しながらループします.

ループ内では以下の文が使えます.

break
ループの実行を中断します(Cのbreak相当).
next
ループの次の実行を開始します(Cのcontinue相当).
redo
ブロックの先頭行からやり直します.

良く使われる手続き

Rubyのプログラムで良く使われる手続きをいくつか紹介しておきます.これらはObjectクラスのメソッドで,どのクラスからでも関数のように使えます.

exit([ステータス])
プログラムの実行を終了します.ステータスとして整数が指定された時にはそれが終了ステータスとなります.ステータスのデフォルトは0です.
gets
コマンドライン引数で指定されたファイル(群)から 1行読み込んで,その行を文字列として返します.コマンドライン引数が指定されていない時には,標準入力から読み込みます.読み込んだ文字列は変数 $_にも代入されます.ファイルの終りではnil(偽)を返します.
while gets
  ...
end
というのは良く使われる典型的なパターンです.
open(ファイル名[, モード])
ファイルをオープンします.モードは文字列でCのfopenと同じです.省略した時には読み込みモードでオープンされます.
print
出力関数.引数を順に標準出力に出力します.引数が省略された場合には変数$_の値を出力します.
Last update on December 13, 2002 23:54

«チュートリアル: Rubyとは? Top チュートリアル: はじめの一歩 -..»