Pythonクックブック、第3版からのimplinging_the_visitor_pattern_without_recursionを読んでいました
Visit
追加のクラスを使用した実装は、それがないものでの欠陥を主張どおりに修正します。
「このレシピの潜在的な危険の 1 つは、生成される Node 値と非 Node 値の区別に関するものです。実装では、すべての Node インスタンスが自動的にトラバースされます。これは、伝播される戻り値として Node を使用できないことを意味します。実際には、これは問題にならない場合があります。ただし、そうである場合は、アルゴリズムを少し調整する必要がある場合があります。たとえば、次のように別のクラスをミックスに導入することで可能です:」</p>
抜粋: デビッド・ビーズリー. 「Pythonクックブック」。アイブック。
質問は次のとおりです:
1: この潜在的な危険はどのような状況で発生しますか?
2: 追加のクラスはどのVisit
ようにそれを修正しますか?
(理解できません。私が見る限り、Visit
クラスは の役に立たないラッパーにすぎませんnode
)
(私が愚かだからかもしれません。誰かがそれをより詳細に、おそらくいくつかのコードで説明してくれませんか?読んでくれてありがとう)