gpt4 book ai didi

sweet.js - 将 sweet.js 参数转换为字符串

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

如何从参数创建一个字符串到 sweet.js 宏?例如:

let foo = macro {
rule {
$name
} => {
console.log('$name', $name);
}
}

var x = 42;

foo x

将输出:

console.log(x, x);

当我希望它输出时:

console.log('x', x);

所以第一个参数有引号。

最佳答案

您可以使用大小写宏:

let foo = macro {
case {_
$name
} => {
letstx $name_str = [makeValue(unwrapSyntax(#{$name}), #{here})];
return #{
console.log($name_str, $name);
}
}
}

var x = 42;

foo x

基本思想是使用$name (unwrapSyntax 为我们提供给定语法对象的值,在标识符的情况下,它是标识符字符串)。然后 letstx 允许我们绑定(bind)新创建的语法对象,以便在 #{} 模板中使用。

关于sweet.js - 将 sweet.js 参数转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845438/

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