4
哪一个是对应的节俭类型:二郎原子和元组在节俭
- 一个Erlang元组(I可以想象这是一个结构)
- 一个Erlang原子(如果有的话?)
Erlang类型和Thrift IDL类型之间的直接映射是否有任何文档可用?
哪一个是对应的节俭类型:二郎原子和元组在节俭
Erlang类型和Thrift IDL类型之间的直接映射是否有任何文档可用?
好吧,我会尽量回答自己:)
显然存在节俭二郎元组没有直接的翻译。你可以做的是在你的Erlang模块中包含由Thrift生成的类型定义,并编写你的Erlang代码,以便它使用生成的Erlang记录作为函数的参数和/或返回值。
Erlang原子必须翻译成Thrift二进制文件(或最终字符串)。
所以,如果你想有这样的:
-spec cool_function() ->
{atom(), atom()}.
cool_function() ->
{foo, bar}
您需要在您的whatever.thrift文件来指定:
struct MyTuple {
1: binary first,
2: binary second
}
service myService {
MyTuple cool_function()
}
另外,你需要编写Erlang功能如下:
[...]
-include("whatever_types.hrl").
[...]
-spec cool_function() ->
#myTuple{}.
cool_function() ->
#myTuple{
first = atom_to_binary(foo, utf8),
second = atom_to_binary(bar, utf8)
}.
请纠正我,如果我错了。