1
나는 공공 코드 (http://en.wikibooks.org/wiki/F_Sharp_Programming/Advanced_Data_Structures)F #을/FSharp 일반 유형 wikibooks.org
기반 Fsharp의 기본 레드/블랙 트리를 구현하기 위해 노력하고있어하지만 컴파일에 문제가 실행 계속 최종 서명 시간 : 일을하지하지만 난 그것을 추가하려고 한 모든 것을 :
type 'a BinaryTree(inner : 'a tree) =
member this.head = Tree.head inner
member this.left = BinaryTree(Tree.left inner)
member this.right = BinaryTree(Tree.right inner)
member this.exists item = Tree.exists item inner
member this.insert item = BinaryTree(Tree.insert item inner)
member this.print() = Tree.print 0 inner
static member empty = BinaryTree<'a>(E)
구체적가 나에게 " '비교는'유형의 매개 변수는 제약이 없습니다"라는 오류를 제공합니다. 내가 뭘 놓치고 있니?
클래스 선언에서 '접두사'일반적인 표기법을 사용하는 경우 형식 매개 변수에 대한 제약 조건을 지정하는 방법이 없다고 생각
같은 형식 선언을 다시 쓰기. 설명 : '접두사'일반 표기법이란 무엇을 의미하며 다른 가능성은 무엇입니까? – BioInfoBrett
@BioInfoBrett : prefix는'type 'a BinaryTree (/*...*/) ='이고 다른 하나는'type BinaryTree <'a> (/*...*/) ='두번째 옵션은'when 예제에서와 같이 'a : comparison'. – phoog