Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
Q&A
解決済
1回答
195閲覧
総合スコア64
0グッド
0クリップ
投稿2014/06/03 08:06
0
class_evalとinstance_evalは別物なのでしょうか?
どう違うのか教えていただけないでしょうか? またどちらを使うべきでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
この2つは別物です。
class_evalは、selfとカレントクラスに変更を加えます。 クラスを参照する変数ならなんでも使えます。
instance_evalは、selfに変更を加えるだけです。
どちらを使うかですが、クラス以外のオブジェクトを オープンにしたいのならば、instance_evalを使うとよいでしょう。
クラス定義をオープンにして、defを使ってメソッドを定義したいなら、 class_evalを使うとよいと思います。
投稿2014/06/04 07:38
総合スコア407
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.50%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
Ruby class_evalとinstance_evalについて
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。