节俭js:节点 – 不能使用保留语言关键字:“不”

转换nodejs的节点对象时:

thrift -r --gen js:node state_service.thrift 

引发以下错误:

[错误:/state_service.thrift:33](最后一个标记是'不')不能使用保留语言关键字:“不”

代码中的33行是:

 typedef bool Not struct Exp { 1: string left 2: Not not 3: BinaryOp op 4: AnyValue right } 

我正在使用最新的Thrift 0.9.2版本

根据Thrift编译器的build议,解决scheme是不使用保留的语言关键字 。 这些关键字是保留的原因。 节俭是一种跨语言工具,在其中一些关键字中确实not

我不想仅仅因为一个错误的JS转换器而改变处理代码。

我不敢苟同。 有问题的东西是行不通的,尽pipe如此。 节俭清楚地告诉你,你将要尝试的是非法的 (截至今天),问题是什么。

换句话说:使用Linux,你可以把大写和小写字母放在一个文件名中(实际上你可以把一大堆奇怪的东西放进去,但是我会轻松的)。 所以创build一个FILEfile在同一个file夹将完美的工作。 如果你现在把你的程序运行到Windows上,依靠这种行为,你迟早会遇到麻烦,并可能开始抱怨你“ 不想仅仅因为那个有问题的操作系统而改变你的处理代码 ”。

请注意,抱怨不会帮助你走出困境,尽pipe在这个过程中发出的内啡肽会确保你有一个有趣的时间。 当然,这个解决scheme要等到微软修复了错误的操作系统,因为你要制定规则。 正确?

当然不是。 所以如果你觉得实现是错误的 – 很好! 这是开源的,没有人声称完美。 你可以自由地提供补丁 ,我们将很乐意审查它。 但请确保您使用Thrift当前支持的所有20种语言进行testing。