說我有以下幾點:獲取Haskell記錄的字段名稱作爲字符串列表?
data Rec = Rec {
alpha :: Int,
beta :: Double,
phi :: Float
}
sample = Rec 1 2.3 4.5
我明白模板哈斯克爾&的reify
功能可以得到我的記錄的域名。那就是:
print $(f sample) --> ["alpha", "beta", "phi"]
還有一個聲稱,這可以在沒有模板哈斯克爾完成。有人可以爲此提供一個示例實現可以完成嗎?
您也可以獲取沒有模板Haskell的字段名稱。 – augustss
@augustss:怎麼樣?一些「Typable」黑魔法?無論哪種方式,大多數用戶可以將這些信息放在模板Haskell上。 – delnan
@delnan你可以使用'Data.Data',或者你可以直接導出'Show',顯示'sample'並對該字符串進行一些解析。 – augustss