0

鉴于此宏

macro type {
  case {_ $attr } => 
  {
   return #{ 
    var a = obj.some$attr
   }
  }
}

type Attr

我试图得到这个输出:

var a = obj.someAttr;

但我得到的是

var a = obj.some$attr;

在绑定值之间添加任何非字母数字字符some$attr正确输出绑定值。

4

1 回答 1

0

好的,只是想出了如何做到这一点

enter code here

macro type {
  case { $mName $attr } => 
  {
    var wrapperName = makeIdent('some' + unwrapSyntax(#{$attr}), #{$mName});
    letstx $x = [wrapperName];
    return #{ 
       var a = obj.$x
    }
  }
}
于 2015-12-04T06:47:27.090 回答