• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ruby on Railsのエラー等について)

Ruby on Railsのエラー等について

このQ&Aのポイント
  • Ruby on Railsについての質問として、errorsというメソッドの正体やエラーメッセージの扱いについて説明してください。
  • また、Rubyにおける論理演算子についても説明してください。
  • 質問にお答えいただける方、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

2だけ回答。 何故見つけられなかったのか不思議ですが、そのまんま、 & と | というメソッドがあります。 標準では TrueClass, FalseClass, NilClass, Fixnum, Bignum のクラスだけで定義されているようです。 (メソッドなので再定義したり他のクラスに定義したりも出来ますが) 一方、&& || and or はメソッドじゃなくて言語機能の演算子(ある意味制御構造)で、どんなクラスのオブジェクトに対してでも使えます。 and / or は、演算子優先度を除いては && || と同じ機能です。優先度がどちらも最低なので、あまり良い例じゃないですが、 if x=gets and x.to_i>0 のように使います。&& だと、代入より優先度が高いので、代入の所にカッコが必要です。

outerlet
質問者

お礼

ありがとうございます。自分なりに調べたり実験したつもりだったのですが、なぜかうまくいかず(少なくともそう思い込んでしまったので)質問した次第です。 改めて分かりやすい例を作ってみて、回答頂いた通りの結果を得ることができました。No.1様には簡単な質問なのに丁寧にお答え頂いたこと、改めてお礼申し上げます。 回答者様おふたりともに感謝しきりなのですが、先にお答え頂いたということでNo.1様の回答をベストアンサーとさせて頂きます。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

ググルとすぐ1の回答も。 http://ar.rubyonrails.org/classes/ActiveRecord/Errors.html ActiveRecord::Errors クラスのメソッドですね(そもそもRubyにはプロパティはありません)。 add_to_base や そこから呼び出している add のソースも上記ページに書いてあります。 addするたびにArrayに蓄積していくようですね。

outerlet
質問者

お礼

Rubyにプロパティはないのですね。勉強になります。 2の回答といい自分なりに調べたつもりではいたのですが、簡単に見つかるものなのですね。それなのに親切に答えて頂いて、恐縮です。ありがとうございました。

関連するQ&A