小编Slo*_*bro的帖子

树的无值 - 在Haskell中的a

所以我将树定义为

data Tree a = Leaf | Node a (Tree a) (Tree a) deriving Show
Run Code Online (Sandbox Code Playgroud)

我知道我可以将Leaf定义为Leaf a.但我真的只是希望我的节点有值.我的问题是,当我进行搜索时,我有一个类型的返回值函数

Tree a -> a
Run Code Online (Sandbox Code Playgroud)

由于叶子没有价值,我很困惑怎么说如果你遇到一片叶子什么都不做.我试过nil," ",' ',[]似乎没有任何工作.

编辑代码

data Tree a = Leaf | Node a (Tree a) (Tree a) deriving Show


breadthFirst   :: Tree a -> [a]
breadthFirst x =  _breadthFirst [x]

_breadthFirst    :: [Tree a] -> [a]
_breadthFirst [] =  []
_breadthFirst xs =  map treeValue xs ++
                _breadthFirst (concat (map immediateChildren xs)) …
Run Code Online (Sandbox Code Playgroud)

tree null haskell

5
推荐指数
3
解决办法
3636
查看次数

Scala模式匹配将int与列表进行比较

我正在尝试编写一个递归程序,用于将int与列表中的每个值进行比较.问题是我一直收到无法访问的错误,我真的不知道为什么.我的代码是

def isIn(x : Int, l : List[Int]) : Boolean = l match {
  case Nil => false
  case x => true
  case h :: t => isIn(x, t)
}
Run Code Online (Sandbox Code Playgroud)

我真的不明白为什么这不起作用.或者我想,我想知道如何将x与头部用例进行比较.

scala pattern-matching

2
推荐指数
1
解决办法
527
查看次数

从原始列表的开头开始列出列表的所有子列表

例如,如果x是[1,2,3,4],那么我的程序返回

     [ [], [1], [1,2], [1,2,3], [1,2,3,4] ]
Run Code Online (Sandbox Code Playgroud)

python

-4
推荐指数
1
解决办法
177
查看次数

标签 统计

haskell ×1

null ×1

pattern-matching ×1

python ×1

scala ×1

tree ×1