From: matz@... (Yukihiro Matsumoto) Date: 1996-04-19T19:02:16+09:00 Subject: [ruby-list:270] TUTORIAL(sono:3) - ruby basics まつもと ゆきひろ@トヨタケーラムです. 次は「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