gpt4 book ai didi

raku - 可以插入无符号变量或常量吗?

转载 作者:行者123 更新时间:2023-12-04 22:02:49 25 4
gpt4 key购买 nike

尽管我没有找到相关文档,但是显然您可以使用{}来对无符号变量和常量进行插值:

constant ⲧ = " " xx 4;
say "{ⲧ}Tabbed"; # OUTPUT: « Tabbed␤»

显然,您需要 use the :c adverb to do so
say q:c"π is {π}"; # OUTPUT: «π is 3.141592653589793␤»

但这仅在使用 q(和派生)引号时才有效。这只是一个未记录的功能,还是我在这里缺少的东西?

最佳答案

这些都是完全相同的

          "a $b {$c}"
qq "a $b {$c}"
Q :qq "a $b {$c}"
Q :double "a $b {$c}"

Q :b :s :a :h :c :f "a $b {$c}"
Q :backslash :scalar :array :hash :closure :function "a $b {$c}"

为了让字符串文字解析器将 {} 视为创建闭包,它需要启用闭包功能。
:qq/ :double 启用的功能之一是 :c/ :closure

您也可以使用 :!closure 禁用它。

say qq :!closure "{ 1 + 2 }";
# { 1 + 2 }

也就是说,它以 :qq/ :double 语义开始并关闭 :closure 语义。

Here 是在 Rakudo 中定义 qq 功能的地方

role qq does b1 does c1 does s1 does a1 does h1 does f1 {
token starter { \" }
token stopper { \" }
method tweak_q($v) { self.panic("Too late for :q") }
method tweak_qq($v) { self.panic("Too late for :qq") }
}
b1 启用反斜杠 c1 启用关闭 s1 启用标量 a1 启用数组 h1 启用哈希 f1 启用功能

它已记录在案,并且您提供了指向该文档的链接。
也许可以更清楚地说明:
  • ""qq ""
  • 的缩写
  • qq ""Q :qq ""/Q :double ""
  • 的缩写
  • :qq/:double 是所有 :backslash :closure :scalar :array :hash :function 的缩写。

  • 此外,可能值得为所有这些功能添加示例。

    关于raku - 可以插入无符号变量或常量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269915/

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