読む前の準備
1273 ワード
railsソースコードを読むつもりなら、rubyとrailsをインストールしたに違いありません.私と同じようにrvmでrubyバージョンをインストールして管理しているかもしれません.
必要なruby言語知識
基本的なruby言語を身につける以外に、基本的なメタプログラミングの知識を身につける必要があります.を読んだことがあるのが一番いいですが、これは必須ではありません.次の方法を熟知する必要があります.類の方法の定義、このような方法の利点は比較的に集中して、読みやすくて、あなたも多くのself を叩くことができますいくつかの重要な方法class_eval instance_eval method_missing extend extended included inheritedには他の方法があるかもしれませんが、私はしばらく思い出せません.あるいは、私はまだ出会っていません.結局、私もrailsソースコードを読み始めました.不明なrubyライブラリドキュメントに遭遇すればいいです.
私たちが読むコード
まず、railsパッケージのソースコード、railsソースコード、railsアプリケーションコードに分けて、私たちが主に読んでいるのは後の2つです. railsパッケージソースコードrails gemの開発パッケージはgithubから直接 railsソースこれは私たちが読むコードです. railsアプリケーションコード
railsインストールディレクトリ
rubyとrails apiクエリー
rubyコアライブラリruby標準ライブラリrails API
必要なruby言語知識
基本的なruby言語を身につける以外に、基本的なメタプログラミングの知識を身につける必要があります.を読んだことがあるのが一番いいですが、これは必須ではありません.次の方法を熟知する必要があります.
class << self
def foo
# method body
end
end
私たちが読むコード
まず、railsパッケージのソースコード、railsソースコード、railsアプリケーションコードに分けて、私たちが主に読んでいるのは後の2つです.
git clone
下りてくるコードで、勝手に見てもいいですが、私たちが読む目標ではありません.gem install rails
でインストールすると、railsソースコードとその依存するgemソースコードはgemのインストールディレクトリに保存され、ディレクトリコードと開発パッケージは違います.rails new foo
を実行した後、railsが生成したappフレームワーク、アプリケーションの論理コード.railsインストールディレクトリ
gem environment gemdir rails
を実行することでrailsのインストールディレクトリを表示することができ、私のマシンでは~/である.rvm/gems/ruby-2.4.0/gems/.手に入れたエディタで開くことができ、vimは良い選択です.rubyとrails apiクエリー
rubyコアライブラリruby標準ライブラリrails API