如何在 Haskell 中生成 null 类型?

0 null haskell quadtree nullpointerexception

我需要在 Haskell 中创建一个四叉树。但我以前从未使用过这种语言。据我了解,Haskell 中没有空指针。那么我怎样才能为四叉树的指针实例化一个空版本的 Group(如果有办法的话)?

data Group = Group {
    idf :: Int,
    name :: String,
    lat :: Int,
    long :: Int,
    nw :: Group,
    ne :: Group,
    sw :: Group,
    se :: Group
} deriving Show

main :: IO()

main = do
    let g1 = Group { idf = 0, name = "Ababa", lat = 32, long = 40, nw = ???}
    print g1
Run Code Online (Sandbox Code Playgroud)

我知道也许存在。但不知道如何在这种情况下使用它。

Fyo*_*kin 5

你用Maybe。它是一种可以具有两种不同类型值的类型:其中一个NothingJust x其中x是某种其他类型的值。

data Group = Group {
    ...
    nw :: Maybe Group,
    ne :: Maybe Group,
    sw :: Maybe Group,
    se :: Maybe Group
} deriving Show

main = do
    let g1 = Group { ..., nw = Nothing, ne = Nothing, sw = Nothing, se = Nothing }
    print g1

    ...

    let g2 = Group { ... ne = Just g1, ... }
Run Code Online (Sandbox Code Playgroud)