0

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 個のプロシージャを持つクラス「トースター」がチェーンの動作を遅くしています。これに代わるものはありますか?

4

0 に答える 0