読者です 読者をやめる 読者になる 読者になる

みんなのちからになりたい

コピペでブログラムつくっていきたい

sinatraをざっくり読む

Sinatra: README (Japanese)

初っ端に

# myapp.rb
require 'sinatra'
get '/' do
  'Hello world!'
end

って書いてあって、なんでこんなので動くのかなあと思ったら、DelegatorでSinatra::Applicationにdefine_methodしてるからか。

main.rb
sinatra/lib/sinatra/main.rb at master · sinatra/sinatra · GitHub

base.rb
sinatra/lib/sinatra/base.rb at master · sinatra/sinatra · GitHub

rubyの書き方が独特すぎてなれるまでソース読むのと理解するのにすごい時間かかるけどすごい勉強になる。

あと痛感したのが、Rackで動かすからRack知らないと知らないメソッドいきなり出てきすぎてそれを調べるのでまた時間がかかる。
ただ、2年くらいまえにわけわからないままサンプルの真似してsinatraのWebアプリ作って動かしてたけど、そのときの意味不明なことが今回ソース読んだことでだいたい意味わかるようになってる。

過去より進歩したのを感じれてすごくいい。