2
sweet.js 매크로의 인수에서 문자열을 어떻게 작성 하시겠습니까?sweet.js 인수를 문자열로 변환하십시오.
let foo = macro {
rule {
$name
} => {
console.log('$name', $name);
}
}
var x = 42;
foo x
윌 출력 : 예를 들어
console.log(x, x);
나는 출력을 원합니다 경우 :
console.log('x', x);
그래서 첫 번째 인수는 따옴표가있다. unwrapSyntax
이 우리의 가치를 제공 (기본 아이디어는 당신이 $name
에 의해 mached 식별자의 문자열 값을 사용하여 (makeValue
를 통해) 새로운 문자열을 토큰을 만들 것입니다
let foo = macro {
case {_
$name
} => {
letstx $name_str = [makeValue(unwrapSyntax(#{$name}), #{here})];
return #{
console.log($name_str, $name);
}
}
}
var x = 42;
foo x
:
우수하지만 케이스 매크로를 사용해야 할 수도 있다고 생각했지만 구문 오류로 끝나는 방법을 알아 내려고 할 때마다 설명이 잘 정리되었습니다. –