[前][次][番号順一覧][スレッド一覧]

learn-ruby-in-kansai:430

From: Kazuhiko <kazuhiko@f...>
Date: Wed, 18 May 2005 22:45:05 +0900
Subject: [learn-ruby-in-kansai:430] Re: プライベートアドレス

かずひこ@東京に出張中です。

At Wed, 18 May 2005 22:19:16 +0900,
Ayumi KITAGAWA wrote:

> せっかく女の子さそったのに、高木さんしかほめてくれない。
> ぐすん。いいもん。もう女の子さそわないもん。

えらい!
この調子で、関西オープンソースに「京女 Ruby 組」のブースを出せるように頑
張ってください。

> aaa.hoge = bbb
> 
> っていう意味がわからんです・・・

これは、aaa というオブジェクト (インスタンスともいう) の 'hoge=' というメ
ソッドに bbb という値を渡す、という意味です。代入っぽく見えますが、
「aaa.hoge という変数に bbb を代入する」という意味ではありません。

class AAA
  def hoge=(var)
    @hoge=var
  end

  def hoge
    return @hoge
  end
end

aaa = AAA.new
aaa.hoge = 123 # ← aaa の hoge= メソッドの呼び出し
p aaa.hoge     # ← aaa の hoge メソッドの呼び出し

と書けば何となくわかりやすいでしょうか。

で、上記のようなメソッドを定義するのがだるいので、def hoge= ... のところは
  attr_writer :hoge
と書くだけでよくて、def hoge ... のところは
  attr_reader :hoge
と書くだけでよくて、両方セットで指定したいときは
  attr_accessor :hoge
と書くだけですみます。

http://www.ruby-lang.org/ja/man/?cmd=view;name=FAQ%3A%3A%A5%E1%A5%BD%A5%C3%A5%C9
あたりを参考に、勉強してみてください。:)
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  「恋とハックはアジャイルが命!」

--
ML: learn-ruby-in-kansai@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->     430 2005-05-18 15:45 [kazuhiko@f...       ] Re: プライベートアドレス                
       433 2005-05-18 15:52 ┣[babie7a0@y...       ]                                       
       443 2005-05-19 01:59 ┗[kitagawa@j...       ]