最近,当我在haskell中编写一些代码时,我发现了一个有趣的问题。
例如,在yesod框架中,如果我需要编写一个解析json参数的路由,我需要定义一个这样的数据类型:
\
工作正常。 但是如果我有很多这些需要解析参数的路线,那就会变成一团糟。
我可能有Args1,Args2,Args3,那里的字段必须不同,所以 Args1 {a1},Args2 {a2},Args3 {a3}
这对我来说很烦人。
所以,如果有可能我这样编写代码:
data Args = Args { a :: Int }
instance FromJSON Args where
putSampleR :: Handler ()
putSampleR = do
Args{..} <- requireJsonBody
<balabalabala>
在本地定义数据变量?