2011-01-06 9 views
0

私はまだルビーから理解できない基本的な質問があります。アクティブなレコードでは、 "@ food"がありますが、 "food"とはどのように違うのですか?私はそれが配列recognが、DATASのリスト(配列?)共有基本的な質問との違い@アクティブなレコード

+1

Railsに入る前に、Rubyについて少しお読みください。基本的な概念がどこに属するのか混乱しているようです。 – edgerunner

答えて

5

のActiveRecordとは何の関係もありません。それは単なるRubyの構文である。

@fooは、インスタンス変数を示している。それはinstancにスコープされますそのクラスのすべてのインスタンスに対して異なっています。内容はクラスインスタンスが保持されている限り保持されます。

fooは、現在のブロックスコープでのみ有効なローカル変数を表すことができます。ブロックが終了するとすぐに範囲外になり、他の場所で参照されていなければ内容は破棄されます。

@表記は、配列やその他のデータ型とは関係ありません。 Rubyでは、変数にはデータ型がありません。 @barは、苦情のない文字列、整数または配列を簡単に受け入れます。そしてそうなりますbar