thrift js:node - 不能使用保留语言关键字:"not"
thrift js:node - Cannot use reserved language keyword: "not"
为 nodejs 转换 thrift 对象时:
thrift -r --gen js:node state_service.thrift
抛出以下错误:
[ERROR: /state_service.thrift:33] (last token was 'not') Cannot use
reserved language keyword: "not"
33 左右的代码行是:
typedef bool Not
struct Exp {
1: string left
2: Not not
3: BinaryOp op
4: AnyValue right
}
我使用的是最新的 Thrift 版本 0.9.2
解决方案是不使用 Thrift 编译器建议的保留语言关键字。这些关键字被保留是有原因的。 Thrift是一个跨语言的工具,not
确实是其中的一些关键字。
I don't want to change the processing code only because of a faulty js converter.
我不敢苟同。 Faulty 是不起作用的东西,尽管它应该。 Thrift 清楚地告诉您,您将要尝试的是非法(截至今天)以及问题所在。
换句话说:使用Linux,你可以在文件名中放入大写和小写字母(实际上你可以放入一大堆奇怪的东西,但我会很容易) .因此,在同一文件夹中创建 FILE
和 file
将完美地工作。如果你现在把你的程序 运行 放在 Windows 上,依赖于这种行为,你迟早会 运行 陷入困境,并可能开始抱怨你“ dont只是因为那个错误 OS” 才想更改您的处理代码。
请注意,抱怨不会帮助你走出困境,尽管在这个过程中释放的内啡肽会确保你玩得开心。解决方案当然是等到 Microsoft 修复他们的错误 OS,因为你制定了规则。正确的?
当然不是。所以如果你觉得实施是错误的——没关系!这是开源的,没有人声称是完美的。 You are free to provide a patch,我们会很高兴地审查它。但请确保您使用 Thrift 当前支持的所有 20 多种语言对其进行了测试。
尝试将 not 更改为其他内容,我认为问题在于 'not' 在您选择生成的语言中可能具有其他含义。
2: Not not
为 nodejs 转换 thrift 对象时:
thrift -r --gen js:node state_service.thrift
抛出以下错误:
[ERROR: /state_service.thrift:33] (last token was 'not') Cannot use reserved language keyword: "not"
33 左右的代码行是:
typedef bool Not
struct Exp {
1: string left
2: Not not
3: BinaryOp op
4: AnyValue right
}
我使用的是最新的 Thrift 版本 0.9.2
解决方案是不使用 Thrift 编译器建议的保留语言关键字。这些关键字被保留是有原因的。 Thrift是一个跨语言的工具,not
确实是其中的一些关键字。
I don't want to change the processing code only because of a faulty js converter.
我不敢苟同。 Faulty 是不起作用的东西,尽管它应该。 Thrift 清楚地告诉您,您将要尝试的是非法(截至今天)以及问题所在。
换句话说:使用Linux,你可以在文件名中放入大写和小写字母(实际上你可以放入一大堆奇怪的东西,但我会很容易) .因此,在同一文件夹中创建 FILE
和 file
将完美地工作。如果你现在把你的程序 运行 放在 Windows 上,依赖于这种行为,你迟早会 运行 陷入困境,并可能开始抱怨你“ dont只是因为那个错误 OS” 才想更改您的处理代码。
请注意,抱怨不会帮助你走出困境,尽管在这个过程中释放的内啡肽会确保你玩得开心。解决方案当然是等到 Microsoft 修复他们的错误 OS,因为你制定了规则。正确的?
当然不是。所以如果你觉得实施是错误的——没关系!这是开源的,没有人声称是完美的。 You are free to provide a patch,我们会很高兴地审查它。但请确保您使用 Thrift 当前支持的所有 20 多种语言对其进行了测试。
尝试将 not 更改为其他内容,我认为问题在于 'not' 在您选择生成的语言中可能具有其他含义。
2: Not not