我想從D中的Haskell實現Maybe
,只是爲了它。 這是我到目前爲止,但它並不是那麼好。任何想法如何改善?如何在D中實現Haskell * Maybe *構造?
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
我看着它看起來類似於賈斯汀發佈的源代碼。如果它在福博斯,爲什麼要重新發明輪子?我將使用Nullable,:) – Arlen
沒錯,不完全像Haskell'也許',但足夠接近。 – Arlen
它是否適合你的pruposes取決於你想要做什麼。一般來說,我鼓勵你使用'Nullable',因爲它在標準庫中,但是如果你的主要目的只是爲了學習(因爲你的問題可能是這種情況),那就不同了。 –