2010-02-09 2 views

답변

3

글쎄, 난 나 자신에 대답하려고합니다 :)

분명히 드리프트에서 얼랑 튜플의 직접적인 번역이 없습니다. 당신이 할 수있는 일은 얼라이언스 모듈에 Thrift에 의해 생성 된 타입 정의를 포함시키고 얼랭 코드를 작성하여 생성 된 얼랭 레코드를 파라미터 및/또는 함수의 반환 값으로 사용하는 것입니다.

얼랑 원자는 스 트리핑 바이너리 (또는 결국 문자열)로 변환되어야합니다. 당신이 뭔가하고 싶은 경우

그래서 : 당신이 당신을 쓸 필요가

struct MyTuple { 
    1: binary first, 
    2: binary second 
} 

service myService { 
    MyTuple cool_function() 
} 

플러스 :

-spec cool_function() -> 
    {atom(), atom()}. 
cool_function() -> 
    {foo, bar} 

을 당신은 당신의 whatever.thrift 파일에 지정해야합니다 얼랑 기능 :

[...] 

-include("whatever_types.hrl"). 

[...] 

-spec cool_function() -> 
    #myTuple{}. 
cool_function() -> 
    #myTuple{ 
    first = atom_to_binary(foo, utf8), 
    second = atom_to_binary(bar, utf8) 
    }. 

틀렸어.