Ruby

C#とかでクラスを使ってたあなた、これで困ったことないですか?

ほら、C#ならこんな時。

class A{
  public string abc;
  public string def;
}
:
A o = new A();
o.abc = "ふがほげ";
o.def = "じぇーんどぅ";

上のコードをRubyで書こうとして、以下のように書くとエラーになるのよね。

class A
  def initialize
    @abc = nil
    @def = nil 
  end
end
:
o = A.new
o.abc = "ふがほげ" ←ここでエラーになる。
o.def = "じぇーんどぅ"

これを可能にするには、以下をclassの中に追加するのよ。

attr_accessor :abc,:def

これで、以下のように書けるわ。

class A
  def initialize
    @abc = nil
    @def = nil 
  end
 attr_accessor :abc,:def
end
:
o = A.new
o.abc = "ふがほげ"
o.def = "じぇーんどぅ"

実は前にこれ知らなくて大変な目にあったのよね……わざわざ@abcにセットするメソッド書いたりね。なんてこと。

みんなは、ひっかかってはダメよ。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-31 (木) 10:37:42