sanemat / ruby-parser-book

2 stars 0 forks source link

コラム 木構造の操作 #13

Open sanemat opened 9 years ago

sanemat commented 9 years ago

データ構造とアルゴリズム苦手で勉強も挫折してるので木構造の操作入門がほしい。 ひとまず動く、で何とか進めているけど、AdventCalendar - segmentio/dekuのコード読んで自分でも仮想DOMのdiffアルゴリズムを書いてみた - Qiita こういうの見ると、結果だけ見ると書けそうで、でも自分では全然書けない。王道とかいくつかの定番パターンとか、こういう時はこう書くというのをうまくググれるキーワードや情報のポインタ欲しい。

sanemat commented 9 years ago

具体的にはこれを並べ替えたい(redisは優先リストにあるので、sort順位が高い)ときに、更新したい子孫の方のノードから順番に#updatedしないとうまくいかない。こんなの頭で考えてるとあれしてこれしてってこんがらがるので、いい感じにメソッドを分けて行ったり、なんかいい感じのデザインパターンがあるに違いない。 https://github.com/sanemat/gemfile_arranger/commit/e7e5c9a2eac3375cb502b7f56534ecf00b6accb0

(block
  (send nil :group
    (sym :test))
  (args)
  (begin
    (send nil :gem
      (str "capybara-webkit"))
    (send nil :gem
      (str "database_rewinder"))
    (send nil :gem
      (str "redis"))))