You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Raku中创建多行字符串?附JavaScript(ES6)实现示例

Raku 中实现多行字符串的几种方式

对应 JavaScript 的模板字面量,Raku 有多种方式创建多行字符串,常用的几种如下:

1. 直接使用多行引号字符串

和 JS 类似,你可以直接在双引号或单引号中编写多行内容:

  • 双引号(支持变量插值):
my $html = "
  <div>
    <p>Raku is <b>fun</b>.</p>
  </div>
";
  • 单引号(纯字符串,不做变量插值):
my $html = '
  <div>
    <p>Raku is <b>fun</b>.</p>
  </div>
';

2. Heredoc 语法(推荐用于复杂多行文本)

Raku 的 heredoc 语法用 :to(标签) 实现,能更好地控制文本格式,同时支持变量插值,和 JS 模板字面量的使用场景高度匹配:

my $html = qq:to/END_HTML/;
  <div>
    <p>Raku is <b>fun</b>.</p>
    <p>当前版本:$*RAKU.version</p>
  </div>
END_HTML
  • 若不需要变量插值,可替换为 q:to/标签/;
  • 标签可自定义,只要首尾一致即可,结尾的标签必须单独占一行,不能有缩进。

3. 引号构造器的多行写法

Raku 的 qq(等价双引号)、q(等价单引号)构造器也支持多行写法:

my $html = qq{
  <div>
    <p>Raku is <b>fun</b>.</p>
  </div>
};

如果需要自动去除每行前导空白,还可以添加 :trim 或 :squish 修饰符:

my $html = qq:trim:to/END_HTML/;
  <div>
    <p>Raku is <b>fun</b>.</p>
  </div>
END_HTML
# 输出的字符串会自动移除每行前导的空白字符

内容的提问来源于stack exchange,提问作者uzluisf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 08:17:07