有没有办法让 [incr Tcl] 类成为朋友?

发布于 2024-10-13 10:56:14 字数 462 浏览 9 评论 0原文

有没有办法在 incr Tcl 中获得类之间的友谊?

考虑下面的代码。

package require Itcl

::itcl::class A {
   private {
      proc f { } {
         puts "==== A::f"
      }
   }
}

::itcl::class B {
   public {
      proc g { } {
         puts "==== want to be able to call A::f"
      }
   }
}

我希望 A::fAB 的函数之外不可见。我怎样才能实现这个目标?

Is there a way to obtain a friendship between classes in incr Tcl?

Consider the code below.

package require Itcl

::itcl::class A {
   private {
      proc f { } {
         puts "==== A::f"
      }
   }
}

::itcl::class B {
   public {
      proc g { } {
         puts "==== want to be able to call A::f"
      }
   }
}

I want A::f to be invisible outside A bur functions of B. How can I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

网白 2024-10-20 10:56:14

Itcl不提供好友。

您可以通过使用 namespace inscope 构建调用来解决此问题,就像这样:

namespace inscope A {A::f}

Itcl doesn't provide friends.

You can hack around this by constructing a call using namespace inscope, like so:

namespace inscope A {A::f}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文