X {..} <- getYesod 符号
X {..} <- getYesod notation
我在 Yesod 网络应用程序的示例代码中看到了这种符号,但不知道它是什么意思:
getHomeR :: Handler Html
getHomeR = do
App {..} <- getYesod
这个语法是什么意思?
我还看到以下内容,我认为相关,符号:
getHomeR :: Handler Html
getHomeR = do
App x <- getYesod
即一些标识符 x
代替了神秘的 {..}
.
这些称为 record wildcards - 给定记录定义(在本例中为 App
),模式 App { .. }
将所有字段名称纳入范围。例如给定以下记录定义
{-# LANGUAGE RecordWildCards #-}
data Test = Test { a :: Int, b :: Int }
您可以在模式中匹配它,将 a
和 b
字段纳入范围,例如
sumTest :: Test -> Int
sumTest Test {..} = a + b
我在 Yesod 网络应用程序的示例代码中看到了这种符号,但不知道它是什么意思:
getHomeR :: Handler Html
getHomeR = do
App {..} <- getYesod
这个语法是什么意思?
我还看到以下内容,我认为相关,符号:
getHomeR :: Handler Html
getHomeR = do
App x <- getYesod
即一些标识符 x
代替了神秘的 {..}
.
这些称为 record wildcards - 给定记录定义(在本例中为 App
),模式 App { .. }
将所有字段名称纳入范围。例如给定以下记录定义
{-# LANGUAGE RecordWildCards #-}
data Test = Test { a :: Int, b :: Int }
您可以在模式中匹配它,将 a
和 b
字段纳入范围,例如
sumTest :: Test -> Int
sumTest Test {..} = a + b