gpt4 book ai didi

raku - 如何在 Raku 中列出动态和编译时变量

转载 作者:行者123 更新时间:2023-12-03 14:07:38 28 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

去年关闭。




Improve this question




在 Raku 中,我如何列出:

  • Dynamic variables
  • Compile time variables
  • Packages
  • Pseudo packages

  • 要列出作用域中的词法变量,我使用 say ::;Pseudo packages .

    最佳答案

    你不能,一般。

    动态变量

    我想从技术上讲,您可以设计一个 pad walker 例程,该例程将检查所有 pad 以查看 pad 中是否定义了动态变量并创建它的列表。但是一些动态变量在实际使用之前实际上并不存在,例如$*DISTRO (如果被引用,它位于 PROCESS:: 命名空间中):

    say PROCESS::<$DISTRO>:exists;  # False
    $*DISTRO; # just need to refer to it
    say PROCESS::<$DISTRO>:exists; # True

    编译时变量

    编译时变量通常只存在于编译时,并且通常被编码生成为常量。一个典型的例子是 $?LINE ,其值取决于代码中的行。

    套餐

    包可以是词法( my )范围,或 OUR::范围。因此,可以找到它们。下降到子类的大问题是乐堂是一个不负责任的 parent 。一个包知道它的父类,但反过来不知道。

    伪包
    PseudoStash class 包含一个内部数据结构,其中包含所有可能的伪包的名称,但外部不可用。我想它可以这样制作。

    结论

    也许关于您为什么需要这些信息的更直接的问题会给出更好、更有用的答案?

    关于raku - 如何在 Raku 中列出动态和编译时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61051585/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com