Rubyの基本 Hatena Bookmark

出典: 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__
ここに書いた文字はデータとして扱われる。
個人用ツール