bize bir fonksiyonunu sahip olmak isteyen bizHaskell: dize olarak veri yapıcı adı alın
data D = X Int | Y Int Int | Z String
var diyelim getDConst
getDConst :: D -> String
Z ", girdisi için kullanılan veri yapıcısına göre. Her veri kurucuda case
yapmak zorunda kalmadan bunu yazmanın genel bir yolu var mı?
import Data.Data
data D = X Int | Y Int Int deriving (Data,Typeable)
let result = show $ toConstr (X 3) -- result contains what we wanted
başkasının da bu konuda bir hata alırsa: eklemeyi deneyin '{- # DİL DeriveDataTypeable # -}' senin Dosyanın başına. Verileri ve Türetilebilir olduğunuzda GHC'de gereklidir. – jPlatte