Rubyの基本

出典: Asterisk works Wiki
目次 |
命名の作法
- 変数やメソッド
- 全部小文字で単語の区切りをアンダースコア
- クラス名やモジュール名
- 先頭大文字のキャメルスタイル
- 定数
- 全部大文字で単語の区切りをアンダースコア(言語仕様で大文字から始まれば定数として扱われる)
変数の種別
- ローカル変数
- 先頭がアルファベット小文字かアンダースコア
- グローバル変数
- 先頭が$で始まる
- インスタンス変数
- 先頭が@で始まる
- クラス変数
- 先頭が@@で始まる
クラスのお約束
- 次の構文で定義
class クラス名 クラスの実装 end
- クラス名は必ず大文字から始める
- コンストラクタはinitializeというメソッド名で実装する
- インスタンス変数の名前は@で始める
- インスタンス変数は必ずprivate。読み書きにはアクセサが必要
- アクセサを実装するのが面倒なら次のシンボルを使える
attr_reader :インスタンス変数名 ゲッターを作る attr_writer :インスタンス変数名 セッターを作る attr_accessor :インスタンス変数名 ゲッター、セッター両方作る
- クラス変数の名称は@@で始める
TIPS
直接実行したときだけ実行されるコードを書く
rubyでは擬似変数__FILE__に実行中のファイル名が格納されている。 一方、$0にはRubyを実行するときに指定されたスクリプトファイルの名前が入る。従って次の様なif文を書けば、直接ファイルを指定して実行した時にだけ実行され、他のスクリプトから呼び出された場合に実行されないコードを書くことができる。
if __FILE__ == $0 # 直接実行したときだけ実行されるコード end
スクリプト中にデータを書く
擬似変数__END__を利用するとデータとスクリプトを一つのファイルに書ける。 スクリプト中に__END__を記述すると以降の文字はスクリプトとして扱われず、データとして利用できる。 データを取り出すには組書く定数DATAを利用する。 次の例を実行すると__END__以降に書いた文字列がprintされる
data = DATA.read print data __END__ ここに書いた文字はデータとして扱われる。
