2006-10-23 初心者入門Ruby入門 ~Rubyの開発環境を用意する手順やRubyを使ったプログラミングの方法について解説します~ Home Rubyを使ってプログラミングの学習を開始される方を対象としたRuby入門です。Rubyの開発環境をローカルに構築する方法や、Rubyを使ったプログラムの記述方法や実行までをサンプルを使いながら順に学習していきます。 Ruby入門のメニュー Rubyのインストールと環境設定 Rubyのダウンロードとインストール Rubyの簡単なプログラムを実行する Rubyのドキュメントを参照する Rubyプログラムの基本事項 プログラムの記述 プログラムの実行 プログラム中の処理の流れ コメントの記述 日本語と文字コード グローバル変数「$KCODE」 コマンドラインオプションで文字コードの指定 オプション指定をプログラム内に記述 「$KCODE」に直接設定する場合の注意点 Windows環境でUTF-8をベースに使用する 文字列 文字列オブジェクト バックスラッシュ記法によるエスケープ %Q、%qによる文字列の作成 ヒアドキュメントによる複数行文字列の作成 文字列の中に式を展開 文字列を連結して新しい文字列を作成 文字列を指定の回数繰り返した新しい文字列を作成 文字列オブジェクトに文字列を追加する 数値と四則演算 数値オブジェクト アンダーバーによる数値の区切り 四則演算 演算子の優先順位 整数と浮動小数点数の演算結果 ビット演算子 シフト演算子 変数 変数への代入 変数名 別のオブジェクトを代入 他の変数を代入 変数に対する演算 自己代入 多重代入 定数 定数への代入 定数名と組み込み定数 条件分岐 if文 擬似変数 true, false, nil 関係演算子 論理演算子 演算子の優先順位(関係演算子、論理演算子) 条件式が偽の時の処理(if...else...end) 複数の条件分岐(if...elsif...else...end) unless文 case文 条件演算子(?:) 式修飾子(if修飾子、unless修飾子) 繰り返し while文 until文 for文 範囲オブジェクト eachメソッド timesメソッド、uptoメソッド、downtoメソッド stepメソッド loopメソッド break next redo 式修飾子(while修飾子、unitl修飾子) 配列 配列オブジェクト 要素とインデックス Arrayクラス 要素へのオブジェクトの代入 配列のサイズの取得と新しい要素の追加 配列に対する繰り返し 要素に別の配列オブジェクトを代入 ハッシュ ハッシュオブジェクト 値の取得 Hashクラス デフォルトの設定 要素の追加と値の変更 ハッシュのサイズの取得 ハッシュに対する繰り返し ハッシュに含まれるキーや値を配列として取得 メソッド Rubyにおけるトップレベル メソッドの定義と呼び出し 引数を付けたメソッド呼び出し 引数のデフォルト値 引数を配列として受け取る メソッドの戻り値 多重代入を使って複数の戻り値を取得 クラスとモジュール Rubyはオブジェクト指向のプログラミング言語です。ここからはクラスやモジュールなどの使い方について確認していきます。 クラスの概念 クラスとは クラスの定義とオブジェクトの作成 インスタンスメソッド インスタンス変数 initializeメソッド アクセスメソッド 定数 クラス変数 クラスの継承 クラスを継承する メソッドのオーバーライド スーパークラスのメソッドを呼び出す 引数があるスーパークラスのメソッドを呼び出す アクセス制御 アクセス制御とは アクセス制御をまとめて設定する モジュール モジュールの定義 モジュールを関数のように使う クラスの中にモジュールをインクルードする 標準ライブラリ Rubyでは多くのクラスやモジュールが標準ライブラリとして用意されています。既に解説した部分を除いた利用方法について標準ライブラリの利用方法を確認していきます。 数値(Numeric)クラス IntegerクラスとFloatクラス 数値クラスを変換する 四捨五入などの方法で整数へ変換する 整数を文字列へ変換する 文字コードに対応する文字を取得する 除算による商と剰余を取得する 絶対値を取得する 文字列(String)クラス 文字列の比較 指定した位置の文字の文字コードを取得する 文字列の一部を取得する 文字列の一部分を置き換える 指定した位置に文字列を挿入する 文字列を検索する 文字列の一部を削除する 末尾の改行文字を取り除く 空白文字を取り除く 文字列を分割する 配列(Array)クラス 要素を取得する 要素を置き換える 要素を挿入する 配列の大きさを取得する ネストした配列を平滑化する 重複した要素を取り除く 要素が「nil」のものを取り除く 指定した値と等しい要素を取り除く 指定したインデックスの要素を取り除く 要素毎に判定を行い該当する要素を取り除く 配列内の要素を逆順に並び替える 配列内の要素をソートする ネストされた配列を行列とみなして行と列を入れ替える ハッシュ(Hash)クラス ハッシュからキーと値を取り除く キーと値毎に判定を行い該当するキーと値を取り除く 配列からハッシュを作成する ハッシュを空の状態にする 時刻(Time)クラス Timeクラス 年月日などの時刻要素を取得する 指定の日時のTimeオブジェクトを作成する 指定フォーマットで文字列に変換する 時刻要素を配列として取得する 起算時からの経過秒数を取得する 時刻の加減算 協定世界時との時差を取得する 日付(Date、DateTime)クラス Dateクラス 月末の日付でDateクラスのオブジェクトを作成する 年月日などの日付要素を取得する 日付の加減算 指定フォーマットで文字列に変換する DateTimeクラス 時分秒などの時刻要素を取得する 時刻も含めて指定フォーマットで文字列に変換する