2013-06-12 2 views
0

이 없습니다 유형을 선언 나는 몇 가지 유형이있다. 그러나 변수를 유형 계획으로 선언하려면 hoe를 모른다.는 인수

유형 계획은 itineraire의 목록이 포함되어 있지만, 일 :

let myPlan = [(an itineraire here)];; 

는 계획 대신 itineraire의리스트를 돌려줍니다.

그래서 어떻게 itineraire리스트의 변수를 선언합니까?

답변

1

당신은 방금 Ilist을 버린 것 같습니다.

let myPlan = Ilist []; 

유형 plan의 모든 값은 Vide 또는 생성자로 Ilist 중 하나가 있습니다. 정의가 의미하는 바입니다.

2

형식 선언에 표시된대로 itineraire list을 매개 변수로 사용하고 plan을 반환하는 IList 생성자를 사용해야합니다.

let my_plan = IList [foo; bar; baz] 

계획에 해당하는 목록을 얻으려면이 생성자에 대해서도 패턴 일치가 필요합니다.

let merge_plans p1 p2 = match p1, p2 with 
    | p, Vide | Vide, p -> p 
    | IList l1, IList l2 -> IList (l1 @ l2) 

추 신 :이 케이스를 구분해야합니까? 단순히 목록으로 계획을 정의하고 Vide 대신 빈 목록을 사용할 수 있습니까?

+0

사실 나는 그렇지 않지만, 존중할 서명 파일을 가지고 있습니다 ... –