Kai*_*epi 5 perl6 lexical-scope raku
我正在编写一个用于创建具有自定义行为的枚举的模块。我现在要做的是将枚举添加到GLOBAL程序包中,但是除非您在一个模块中创建枚举并从另一个模块导入枚举,否则不会安装任何词法符号。使用BEGIN $*W.install_lexical_symbol(...)不是一种选择,因为枚举的值可以从例如网络连接中获取,并且将阻止编译,直到接收到这些值为止。在运行时是否可以在调用者的上下文中安装词汇符号?如果是这样,怎么办?
我要说的完全是“不”。
(我通常会后悔使用P6这么做,但是嘿。)
我的主要证据是这样的评论,例如“词汇范围内的符号集在编译后是不可变的”。
也许拿一个生病的书包,然后阅读“ 如何在Perl 6中动态定义变量名”中的建议?那既邪恶又仍然不够邪恶,无法满足我的要求。
完成呕吐之后,请密封好背包,然后访问freenode IRC频道#perl6-dev,在那里可以找到与内脏有关的真正专家。(我想您知道这一点,但我想将它包括在此答案中以供后代使用,因为我似乎有一种不适的幽默感。)