[[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