エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
RailsのモデルをVisitorパターンとカリー化ですっきり辿る - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
RailsのモデルをVisitorパターンとカリー化ですっきり辿る - Qiita
以下の記事の続きです。 Visitorパターンでは各モデルを処理するメソッドの引数を複数にしたい状況が結... 以下の記事の続きです。 Visitorパターンでは各モデルを処理するメソッドの引数を複数にしたい状況が結構あります。 手前のノードと現在のノードを比較する処理をしたいケースを例として説明します。 # 各モデルが visitor.visit(self) と呼び出す。 def visit(object) if object.is_a?(Task) task(object) elsif object.is_a?(Step) step(object) end end def step(step) -> (prev_step) { # 前と後で比較する処理 } end def task(task) prev_step = nil task.steps.each{|step| step.accept(self).(prev_step) prev_step = step } end # 各モデルが vi