Rubyまとめ
クラスとメソッドの定義 クラスHogeを継承したクラスFooにメソッドbarを定義する.
class Foo < Hoge def bar //処理 end end
クラスのインスタンス化
class = Class.new()
Hash hash = Hash["foo" => 10, "bar" => 20, "hoge" => 30] hash["hogehoge"] = 40 // Add new hash print(hash["foo"]) // 10 print(hash.fetch["bar"]) // 20
取り出しはobject["キー"]かobject.fetch["キー"]で取り出す.他にも色々ある. 追加はobject["新しいキー"] = 新しいキー値
変数 インスタンス変数 @name ローカル変数 name グローバル変数 $name プログラムのどこからでも参照可能. クラス変数 @@name
アクセッサの生成 attr_read :name 変数nameの読み込みのみのアクセッサを生成 attr_write :name 書き込みのみのアクセッサを生成 attr_accessor :name 読み書きのアクセッサを生成 アクセッサはクラスの先頭で定義
initializeメソッド 初期化を行う.使わなくてもOK.
モジュール モジュールとはクラスによく似ているが継承やインスタンス化は出来ない. 関数として利用したりクラスにインクルードしたりする. モジュールMathを定義してメソッドaddを定義してクラスFooにインクルードして使っている.
module Math def add(a, b) return a + b end end class Foo < Bar include Math def calc num1 = 10; num2 = 20; result = Math.add(num1, num2) //result == 20 print(result) end end
シンボル :symbol 文字列と一対一で対応するオブジェクト. ハッシュのキー.アクセッサの引数に渡すインスタンス変数名.メソッド引数で渡すメソッド名.enem的な用途.
標準ライブラリ 数値クラス(Numeric)クラス 文字列クラス(String)クラス 配列(Array)クラス ハッシュ(Hash)クラス 時間(Time)クラス 日付(Date)クラス
外部ファイルの読み込み require 'パス' を使い,読み込む.includeはmodule専用.