Closed kwatch closed 6 years ago
お、確認しますね。
実はこの補足資料、途中で執筆に飽きてとりあえず雑にかきあげて放置していたものだったんですが、最近何故かはてぶが伸びたみたいなので雑な説明とか間違いがないか見直してちょうど修正しておこうかと思っていたところでした。なのでとてもありがたいです。
ご指摘いただいた通りですね。ありがとうございました。
できれば正規表現のコンパイルはroute()の中で行い、match()の中ではしないほうがいいでしょう。
おそらくお気づきだとは思うのですが、このあたりはあくまで解説目的のコードなのでシンプルさをとって対応しなかったという事情もあります。 ここはおそらく今後も今のまま(Router#add()メソッドではcompileしない方針)にすると思います。 と思っていたんですが、コードの長さ自体はそれほど影響がないしこれぐらいは対象の聴き手レベルを考えるとこれぐらいはやっちゃっていい気がしてきました。
https://c-bata.link/webframework-in-python/routing.html#router のコードはインデントがおかしいです。おそらくタブを使ってしまったのだと思います。
そのほか気づいた点です。
return r
はreturn r['callback']
では?re.compile().match()
はre.match()
でいいです。route()
の中で行い、match()
の中ではしないほうがいいでしょう。