The Joy of Clojureには、次のように記載されています。
必要に応じてレコードを再定義して、Javaのコンパイル済みパフォーマンスを動的に提供するさまざまなフィールドを作成することもできます。
誰かがこれがどのように行われるかについて私に手がかりを与えることができますか?
ありがとう
The Joy of Clojureには、次のように記載されています。
必要に応じてレコードを再定義して、Javaのコンパイル済みパフォーマンスを動的に提供するさまざまなフィールドを作成することもできます。
誰かがこれがどのように行われるかについて私に手がかりを与えることができますか?
ありがとう
FIXO
第9章では、プロトコルの定義と、TreeNode
レコードとTreeNode
タイプの両方に対する拡張機能について説明します。の実装の構築はFIXO
動的に実行できることを示します。実際、TreeNode
レコードから始めて、FIXO
プロトコルを拡張し、次にTreeNode
タイプを定義FIXO
して、代わりにそれに拡張します。フィールドの数は変更しませんが、タイプ自体を変更し、拡張すると、FIXO
プロトコルを介したすべての呼び出しが新しいタイプに解決されます(古いレコードベースを返すため、FIXO
拡張を再定義する必要がありました) 。nil
NodeType
デプロイするコードではこれを行わない可能性がありますが、実験する場合は便利なテクニックです。FIXOセクションをウォークスルーして、タイプを確認してください。