我需要在 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
我知道也許存在。雖然不知道如何在這種情況下使用它。
uj5u.com熱心網友回復:
你用Maybe. 它是一種型別,可以具有兩種不同型別的值:要么Nothing或Just xwherex是某種其他型別的值。
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, ... }
uj5u.com熱心網友回復:
我會在你的Group.
data Group = Empty | Group {
idf :: Int,
name :: String,
lat :: Int,
long :: Int,
nw :: Group,
ne :: Group,
sw :: Group,
se :: Group
} deriving Show
如果您在具有多個建構式的型別中使用記錄語法,通常這是一個不好的跡象,因此您可能需要對陷阱進行自我教育。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/531103.html
上一篇:Selenium無法獲取此類
下一篇:將不同型別轉換為字串
