我正在尝试用 sweetjs 编写一个宏来
{a,b,c}
至
{a:'',b:'',c:''}
基本上我想列出一个对象的属性并创建一个具有该属性的空原型。
我写的规则是
macro basic {
rule { { $x (,) ... } } => {
{($x = 3)(,) ...}
}
}
如果我有
basic { a, b, c }
它扩展到
{ a = 3, b = 3, c = 3;}
但是如果我改变我得到= 3
的: ''
意外的令牌:[... ( a : ) , ...]
(另外我不知道为什么它;
在扩展的末尾添加一个 after c = 3
)
任何想法?