小编Has*_*ell的帖子

哈斯克尔.该函数如何捕获负数作为参数?

我不明白,这个负数如何捕获?

mdrop 0 []    = []
mdrop 0 (h:t) = h:t
mdrop n []    = []
mdrop n (h:t) = mdrop (n-1) t
Run Code Online (Sandbox Code Playgroud)

如果我的输入看起来像这样mdrop (-3) [1, 2, 3, 4, 5, 7, 88, 6] 我收到一个空列表.但我不明白在哪一行捕获负数.

haskell

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

如何在Haskell中解决这个数学函数?

如何用Haskell解决这个数学函数?谁能帮我?

Rekursive数学函数

myFunc n m = myFuncRec n m if m <= n then 1
                       else myFuncRec n(m - 1):[]
Run Code Online (Sandbox Code Playgroud)

我需要两次递归吗?因为这个问题在java中需要两三个循环.

haskell

0
推荐指数
1
解决办法
98
查看次数

Haskell:无法构造无限类型:t~t - > t

我写了一个函数,它计算加泰罗尼亚数字,但它不编译.我收到此错误消息:

• Occurs check: cannot construct the infinite type: t ~ t -> t Relevant bindings include catalanNum :: t (bound at CatNum.hs:1:1)

这是我的代码:

catalanNum 0 = 1
catalanNum n =  div(2 *(catalanNum * (n-1)) * (2 * (n-1) + 1))(n + 1)
Run Code Online (Sandbox Code Playgroud)

如何消除此错误?

haskell

0
推荐指数
1
解决办法
153
查看次数

Haskell,如何定义模块?

我在Haskell中编写了一个非常简单的程序,它接受两个列表并合并.但我不明白如何在Haskell中定义Module.

希尔是我的代码

module Merge(Merge (empty, list)merge) where ....
merge::[a] -> [a] -> [a]
merge xs [] = xs
merge [] ys = ys
merge (x:xs) (y:ys) = x:y:(merge xs ys)
Run Code Online (Sandbox Code Playgroud)

我不知道,在"哪里"写之后我该怎么做.只有列表操作,例如头尾等或?

谁能帮我?

haskell module

0
推荐指数
1
解决办法
190
查看次数

标签 统计

haskell ×4

module ×1