私は Web 開発用の新しい動的スクリプト言語の学習を検討しており、Python と Ruby で悩んだ後、どちらも本当に好きだったので、Ruby を選ぶことにしました英国では Python/Django よりも RoR の仕事が多い)。私の質問は、Ruby のスコープについてです。他のメソッドからアクセスできるようにするには、メソッド内でクラス属性を宣言する必要がありますか?
たとえば、私はできません
class Notes
@notes = ["Pick up some milk"]
def print_notes
puts @notes
end
end
コンストラクターで使用したい属性を宣言する必要があるようですか? この例は機能します:
class Notes
def initialize
@notes = ["Pick up some milk"]
end
def print_notes
puts @notes
end
end
これは正しいですか?@ の代わりに @@ を前に付けた例 1 が機能することに気付きましたが、クラスにサブクラス (たとえば、メモ) がある場合、Notes で @@ を前に付けた属性を変更すると、メモの値が変更されますか?
これが繰り返しの質問である場合は申し訳ありません。ただの初心者です:)