하스켈이 D에서 Maybe
을 구현하고 싶습니다. 이것은 내가 지금까지 가지고있는 것이지만, 그렇게 좋지는 않다. 어떤 아이디어를 개선하는 방법?하스켈을 구현하는 방법 * 아마 D에서?
class Maybe(a = int){ } //problem 1: works only with ints
class Just(alias a) : Maybe!(typeof(a)){ }
class Nothing : Maybe!(){ }
Maybe!int doSomething(in int k){
if(k < 10)
return new Just!3; //problem 2: can't say 'Just!k'
else
return new Nothing;
}
하스켈 어쩌면 정의 : 값을 받고 바로 그 때
data Maybe a = Nothing | Just a
저스틴이 게시 한 것과 비슷한 소스 코드를 보았습니다. Phobos에있는 경우 왜 바퀴를 다시 만들어야합니까? Nullable을 사용할 것입니다. :) – Arlen
하스켈과 다를 바는 아니지만 충분히 가깝습니다. – Arlen
그것이 당신의 목적에 적합한지는 당신이하려는 일에 달려 있습니다. 일반적으로 표준 라이브러리에 있기 때문에'Nullable '을 사용하는 것이 좋습니다. 그러나 주 목적이 단순히 (귀하의 질문이 암시하는 것처럼) 배우는 것이면 다른 것입니다. –