- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 01:35:19 ]
- プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
【Ruby1.9 は不安定な開発版であり初心者には全く向きません】 【最新安定版の Ruby1.8.6 の使用を強くお勧めします】 関連スレやURLは>>2-8あたりを見てください。Ruby on Railsの質問はRailsスレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 71 名前:デフォルトの名無しさん [2008/07/02(水) 02:29:28 ]
- Rubyでは、クラス記述の冒頭で、インスタンス変数の宣言はしないんですか?
使用しているインスタンス変数がわかりやすいので あった方がいいのではないかとも思うのですが 本に載ってるサンプルには書いてありません
- 72 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 02:31:25 ]
- クラス記述の冒頭にinitializeを置いてそこで初期化せよ、と
教祖の本に書いてある。
- 73 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 02:36:07 ]
- 確かに、initializeに書いておけばわかりやすいですね
ありがとうございました
- 74 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 02:44:12 ]
- >>71 に便乗。
私も使い始めですが、確かに一覧性が無いと思いました。 クラスの記述で、インスタンス変数を初期化する処理は、initialize等のメソッド内に書くしか 無いのでしょうか。
- 75 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 02:50:30 ]
- 外部に名前を見せても構わない場合は、
attr_reader :size (外部から読み取り専用の場合) attr_accessor :name(読み書き両方) のようなクラスメソッドを使うと、@size、@nameなどのインスタンス変数が 使えるようになり、size, name, name=などのメソッドで参照や設定ができる ようになる。 完全非公開の属性で、name=とか定義する必要がないなら、どこかのインスタ ンスメソッド(代表的なのがinitialize)で使うことで定義される。
- 76 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 02:55:27 ]
- 未初期化のインスタンス変数にはnilが入ってるから
@hoge||=1 とかで初期化されてないときだけ初期化することは可能
|

|