如何从erlang_Protobuff中的枚举中获取整数?

如何从erlang_Protobuff中的枚举中获取整数?,erlang,protocol-buffers,Erlang,Protocol Buffers,我用它来解析谷歌协议。我想知道如何将枚举转换为整数 例如,如果我在协议中定义了如下内容: messaage Enum { enum Type { Type1 = 1; Type2 = 2; } required Type type = 1; } 如何使用erlang代码获取“Type1”这里是1?谢谢 您生成的模块中有一个函数,但它仅供内部使用,也许您可以自己导出 enum_to_int(enum_type, 'Type1')

我用它来解析谷歌协议。我想知道如何将枚举转换为整数

例如,如果我在协议中定义了如下内容:

messaage Enum {
     enum Type {
        Type1 = 1;
        Type2 = 2;
      }
      required Type type = 1;
}

如何使用erlang代码获取“Type1”这里是1?谢谢

您生成的模块中有一个函数,但它仅供内部使用,也许您可以自己导出

enum_to_int(enum_type, 'Type1') -> 1;
enum_to_int(enum_type, 'Type2') -> 2;

我发现我可以做这件事。但当我将它用作依赖项时,我发现了一个错误:protobuff库不存在于代码路径中!你有什么想法吗?对于它在src目录中找到的*.proto文件,钢筋使用另一个protobuf编译器,所以也许你应该将*.proto文件放在另一个目录中,并找到另一种使用gpb的方法。