代码之家  ›  专栏  ›  技术社区  ›  Martin Barth

如何导出%*子主选项

  •  7
  • Martin Barth  · 技术社区  · 7 年前

    假设有一个模块包含 sub MAIN 这应该可以提高启动速度。不幸的是,我无法使用 named-anywhere 这样的特点。我的出口破了还是我该怎么办?

    use v6.c;
    
    unit module My::Main;
    our %*SUB-MAIN-OPTS is export = ( 'named-anywhere' => True);
    
    multi sub MAIN() is export {
        say 1;
    }
    
    multi sub MAIN('a', :$pa) is export {
        say $pa;
    }
    
    3 回复  |  直到 6 年前
        1
  •  6
  •   Elizabeth Mattijsen    7 年前

    您目前无法以这种方式导出动态变量,也许我们永远也不会。

    同时,由于这通常是在命令行脚本的上下文中进行的,因此有一种解决方法:

    # in your module:
    PROCESS::<%SUB-MAIN-OPTS><named-anywhere> = True;
    
    # in your script
    dd %*SUB-MAIN-OPTS'
    # Hash element = ${:named-anywhere}
    

    你在那里做的是你的设置 named-anywhere %SUB-MAIN-OPTS 住在房子里的杂烩 PROCESS:: 在任何地方命名 如果散列还不存在,它实际上会活跃起来。因此,这将不会干扰将来添加到 搞砸

        2
  •  4
  •   Elizabeth Mattijsen    6 年前

    而您可能可以导出 MAIN 这样,你就必须考虑到 %*SUB-MAIN-OPTS variable 主要

    推荐文章