Ruby始めて1年以上経つんですが、(日曜プログラマです。大学でJavaを軽くやった程度です)
1.ローカル変数、インスタンス変数、(あと、Classクラスのインスタンス変数ですか)、クラス変数のスコープが、
  複数ファイルにクラス定義が分割されてたり、
  クラスやモジュールがネストされた関係にあったり、
  後から特異的に定義されたりすると、何が何かわからなくなってしまいます。
  一応、自分なりに、色々動かして、こんな感じじゃないかなぁとは思うようになったんですが
2.このことを、動的言語っていうこととか、宣言文とか、
  そういう話も含めて、
  こういう原則というか、思想に基づくから、
  この変数は、ここまでがスコープなんだよとかいう風に
  説明してくれてるような、本とかドキュメントとかないでしょうか。
3.例としては、カプセル化したいから、publicとかprivateとかあって
  インスタンス変数は、元々privateなんだよ、というような説明があればいいんですが。

こういう理解は、C言語覚えて、ソース読まないといけないんでしょうか。。
それとも、アプローチの仕方が悪いんでしょうか。


読んだ本は以下の感じです。
たのしいRuby(1版)、
Rubyレシピブック
Ruby on Rails関連の本