如何在Haskell中构建一个图形:
type Node = Int
type Arc = (Node, Node)
Run Code Online (Sandbox Code Playgroud)
和功能:
class Graph g where
build :: [Node] -> [Arc] -> g
Run Code Online (Sandbox Code Playgroud)
目前你只是一个类型类,有点像OOP接口.就像一个界面,你实际上不能"构建"一个类.您需要选择一个具体的实现(使用关键字data),然后build在其上实现该功能.这就是你传递给想要的函数的东西Graph
举个简单的例子:
--The concrete data type
data NaiveGraph = NG [Node] [Arc]
--Now we make it an instance of Graph
instance Graph NaiveGraph where
build = NG
Run Code Online (Sandbox Code Playgroud)
根据您的要求,这可能是也可能不是可接受的实例.有关您的实际目标的更多信息将帮助我建议更好的代表性.
| 归档时间: |
|
| 查看次数: |
286 次 |
| 最近记录: |