itcl でチェーン コマンドを使用すると、継承されたクラス全体をチェーンしたいときにコマンドの応答が非常に遅くなります。
itcl::class Toaster {
variable crumbs 0
method toast {nslices} {
if {$crumbs > 50} {
error "== FIRE! FIRE! =="
}
set crumbs [expr $crumbs+4*$nslices]
}
method clean {} {
set crumbs 0
}
}
itcl::class SmartToaster {
inherit Toaster
method toast {nslices} {
if {$crumbs > 40} {
clean
}
return [Toaster::toast $nslices]
}
}
itcl::class SmartToaster {
inherit Toaster
method toast {nslices} {
if {$crumbs > 40} {
clean
}
return [chain $nslices]
}
}
上記はチェーンを使用した例ですが、私の場合、非常に多くのメソッドとプロシージャ、少なくとも 50 個のメソッドと 10 個のプロシージャを持つクラス「トースター」がチェーンの動作を遅くしています。これに代わるものはありますか?