-1

假设FA中有一个函数,我正在创建的一些代码需要调用。我怎么称呼它?

如果我从外部包调用它A,那么我使用A.F(...),如果我在里面,A我使用F(...). 但是,如果墨菲阻止我知道哪个是真的,或者两者都需要一个字节相同的行工作怎么办?

[注意:我认为这种情况会发生,因为根据我的经验和观察,这通常是一个安全的假设。即使没有技术原因,PHB和立法者也是荒谬的良好来源。]

4

1 回答 1

3

没有这样的语法。请注意以下事项:

  • 禁止周期性进口。这尤其意味着包不能自行导入。因此,一个包不能Spkg.S语法引用它的符号之一,因为它不能自己导入。
  • 即使你解决了这个问题,也要注意包在导入后可以被赋予任意名称。例如,您可以这样做:

    import bar "foo"
    

    与预期相反的是S从包"foo"中导入。bar.Sfoo.S

可以使用以下方法来解决此问题:

  • 在包"foo"中,创建一个内部对象foo,其成员是符号foo导出。这允许您使用foo.S语法foo本身,但这是一个可怕的组合。
  • 使用类似的导入声明

    import . "foo"
    

    它允许您使用S包中的符号"foo"as S,i。e. 没有前缀。请注意,这种称为点导入的导入声明被认为是不好的样式,如果您声明的符号集/您导入的包声明更改,则可能会破坏事情。

于 2014-11-17T23:34:25.367 回答