F # 목록에 확장 방법을 정의하려면 어떻게해야합니까?목록의 확장 방법은 무엇입니까?
이 같은 순진 시도는 오류가 발생합니다 :
type list with
member this.abc() = 100
F # 목록에 확장 방법을 정의하려면 어떻게해야합니까?목록의 확장 방법은 무엇입니까?
이 같은 순진 시도는 오류가 발생합니다 :
type list with
member this.abc() = 100
올바른 구문은 다음과 같습니다
type List<'a> with
member this.abc() = 100
당신은뿐만 아니라 정규화 된 이름 Microsoft.FSharp.Collections.List<'a>
를 사용할 수 있지만 유형의 약어 list<'a>
사용할 수 없습니다.
즉, 모듈 기능을 사용하는 것이 더 관용적입니다. (|>)
연산자를 통해 다른 기능과 쉽게 결합 할 수있는 모듈 기능을 만들어야합니다.
type Microsoft.FSharp.Collections.List<'T> with
member x.IsNotEmpty() = not (List.isEmpty x)
let xs = [1]
xs.IsNotEmpty
감사합니다. 그리고 관용구 코드에 관한 정보도 있습니다. – dharmatech