【发布时间】:2012-11-21 22:26:10
【问题描述】:
我需要帮助。 我有那种形式的功能
myFunction = case myFunction of
(Nothing) -> (Just)
(Just) -> (Just)
我想让它尾递归。 一个人会怎么做? 我知道根据递归调用的返回我们有不同的语句这一事实使它变得困难(我需要帮助的原因^^)。 我可以给出原始功能,但我宁愿寻找更通用的解决方案。 提前致谢
编辑:实际代码:
myFunction :: MyTree x -> (x, Maybe(MyTree x))
myFunction = (x, Nothing)
myFunction (MyNode left right) = case myFunction left of
(x, Nothing) -> (x, Just right)
(x, Just left2) -> (x, Just (Node left2 right))
【问题讨论】:
-
这没有意义。请出示您的真实代码。
-
该代码没有意义。我已将其粘贴到您的问题中并重新格式化。请编辑问题,使其包含您的实际代码。