[ruby-list:270] TUTORIAL(sono:3) - ruby basics
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-04-19 10:02:16 UTC
List:
ruby-list #270
まつもと ゆきひろ@トヨタケーラムです.
次は「rubyの基礎」です.
--
rubyの基礎
rubyの「1行プログラム」
スクリプト言語としての雰囲気を知ってもらうためrubyの
1 行プログラムをいくつか紹介しましょう.
----------------------------------------------------------
# 由緒正しい Hello world.
print "Hello world\n"
----------------------------------------------------------
# 入力ファイルの`From 'を含む行を印刷する
while gets(); print if /From/ end
----------------------------------------------------------
# ファイルに行番号をつける
while gets(); print $., ":", $_ end
----------------------------------------------------------
# πの計算
print 4*atab2(1,1), "\n"
----------------------------------------------------------
rubyのコメント
rubyのコメントは#から行末までです.
rubyの式
rubyの式は以下のものがあります(主なもの).
文字列
文字列はシングルクォート(')または ダブルクォート
(")で囲まれたもので す.ダブルクォートで囲まれた
文字列ではC言語の 文字列と同じようなバックスラッ
シュ (\)によるエスケープが指定できます.また,
#{}で囲んだ範囲内の式の結果が埋め込まれます.
数値
整数,浮動小数点数が扱えます.
配列/連想配列
[]で囲まれた式の並びは配列を返し ます.{}で囲ま
れた式の並びは連想 配列を返します.
連想配列とは任意の種類のオブジェクトを添字にと
る配列です.ハッシュ表とか辞書とか呼ばれること
もあります.
変数/定数
rubyには変数が3種類と定数があります.変数/定数
の種別はその最初の1文字で区別できます.
ローカル変数
小文字のアルファベットから始まる.使う時に
は代入で初期化する必要がある.
グローバル変数
$から始まる.未初期化の値 はnil.
インスタンス変数
@から始まる.未初期化の値 はnil.
クラス定数
大文字のアルファベットから始まる.未初期化
の値はnil.
代入
変数への代入は以下の形式です.
変数 = 式
メソッド(関数)呼び出し
あるオブジェクトに固有の操作(メソッド)を実行す
るための形式は以下の通りです.
式 . メソッド名
式 . メソッド名 ( 式..)
曖昧でない限り引数の括弧は省略できます.
メソッドの実行主体であるselfのメソッド呼び出し
は最初の式を省略できます.
メソッド名
メソッド名 ( 式..)
引数の無いメソッド呼び出しとローカル変数の参照
は代入の有無で区別されます.
演算子式
通常の数式は(C言語とほぼ同じ)演算子を使って表 現
できます.ただし,内部的には演算子も(演算子を名
前に持つ)メソッド呼び出しとして処理されています.
rubyの文
rubyでは任意の式をセミコロン(;)または改行で区切った
並びを文とします.文の値は一番最後に実行された式の
値です.
rubyの制御構造
rubyでは以下の制御構造が使用できます.
* if 式 then 文 [elsif 式 then 文].. [else 文 ]end
* case 式 when 式..; 文... [else 文 ]end
* while 式; 文 end
* for 変数.. in 式; 文 end
ifとwhileの意味は通常の言語とほぼ同じです.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
出力関数.引数を順に標準出力に出力します.引数
が省略された場合には変数$_の値を出力します.
----------------------------------------------------------
matz@caelum.co.jp
Last modified: Tue Apr 16 21:02:26 1996