gpt4 book ai didi

raku - 不能在 `qqww` 或 `qqww:to` 结构中使用冒号对

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

我想使用 Class 生成一个 json 行, 我覆盖了 gist方法,以便它打印我想要的内容:

my $ak = '7111ac873c9dcd5fc335ded47630d050';
my $st = '1523451601875';
my $ifo = 'true';
my $uu = "15778787898988090";

class Stay {
has $.ak is rw = '7111ac873c9dcd5fc335ded47630d050';
has $.uu is rw;
has $.ifo is rw;
has $.st is rw;

method gist() {
#return qqww/{"ev":"app","ak":"$!ak","uu":"$!uu","ifo":"$!ifo","st":"$!st"}/;

return qqww:to「EOF」;
{"ev":"app","ak":"$!ak","uu":"$!uu","ifo":"$!ifo","st":"$!st"}
EOF
}
}

say Stay.new(uu => $uu, ifo => $ifo, st => $st);

但失败了:
===SORRY!=== Error while compiling /Users/ohmycloud/Desktop/stay.pl6
Confused
at /Users/ohmycloud/Desktop/stay.pl6:18
------> {"ev":⏏"app","ak":"$!ak","uu":"$!uu","ifo":"$!i
expecting any of:
colon pair

我想要的是:
{"ev":"app","ak":"7111ac873c9dcd5fc335ded47630d050","uu":"15778787898988090","ifo":"true","st":"1523451601875"}

为什么我不能在 qqww 中使用冒号对或 qq:to结构?

最佳答案

{}在双引号中有特殊含义。他们必须逃脱

qq:to「EOF」;
\{"ev":"app","ak":"$!ak","uu":"$!uu","ifo":"$!ifo","st":"$!st"\}
EOF

您需要 qq ,不是 qqww这使名单。

您可以使用 fmt
(:ev<app>, :$!ak, :$!uu, :$!ifo, :$!st).fmt('"%s":"%s"', ',').fmt('{%s}')

JSON::Fast
require JSON::Fast <&to-json>;
{:ev<app>, :$!ak, :$!uu, :$!ifo, :$!st}.&to-json

甚至

require JSON::Fast <&to-json>;
self.^attributes.map( {.name => .get_value(self)} ).Hash.&to-json

关于raku - 不能在 `qqww` 或 `qqww:to` 结构中使用冒号对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49779837/

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