首页 > 解决方案 > 在 Haskell 中访问 Graph 数据类型的成员

问题描述

我的问题很简单,我是函数式编程领域的新手,所以我想知道如何访问我的数据类型的元素来创建一个空图。

module Graph where

import Data.Map (Map)

import Graphviz

-- | A directed graph
data Graph v = Graph
    { arcsMap :: Map v [v]     -- A map associating a vertex with its successors
    , labelMap :: Map v String -- The Graphviz label of each node
    , styleMap :: Map v String -- The Graphviz style of each node
    }

-- | Returns an empty graph
emptyGraph :: Graph v
emptyGraph = ???

谢谢你!

标签: haskellgraphfunctional-programmingcustom-data-type

解决方案


import Data.Map (Map, empty)

-- | A directed graph
data Graph v = Graph
   { arcsMap :: Map v [v]     -- A map associating a vertex with its successors
   , labelMap :: Map v String -- The Graphviz label of each node
   , styleMap :: Map v String -- The Graphviz style of each node
   }

-- | Returns an empty graph
emptyGraph :: Graph v
emptyGraph = Graph empty empty empty

推荐阅读