Haskell X{..}<;-getYesod表示法
我在Yesod web应用程序的示例代码中看到了这种符号,但我不知道它的含义:Haskell X{..}<;-getYesod表示法,haskell,yesod,Haskell,Yesod,我在Yesod web应用程序的示例代码中看到了这种符号,但我不知道它的含义: getHomeR :: Handler Html getHomeR = do App {..} <- getYesod getHomeR::Handler Html getHomeR=do App{..}这些被调用-给定一个记录定义(App,在本例中),模式App{..}将所有字段名带入范围。例如,给定以下记录定义 {-# LANGUAGE RecordWildCards #-} data Test
getHomeR :: Handler Html
getHomeR = do
App {..} <- getYesod
getHomeR::Handler Html
getHomeR=do
App{..}这些被调用-给定一个记录定义(App
,在本例中),模式App{..}
将所有字段名带入范围。例如,给定以下记录定义
{-# LANGUAGE RecordWildCards #-}
data Test = Test { a :: Int, b :: Int }
您可以在模式中对其进行匹配,将a
和b
字段纳入范围,例如
sumTest :: Test -> Int
sumTest Test {..} = a + b
您可以直接链接到GHC文档中的一节。例如:
sumTest :: Test -> Int
sumTest Test {..} = a + b