小编Wil*_*sem的帖子

m >> = return是什么意思?

正在阅读有关monad的教程并坚持以下内容:

let m = return 2 :: IO Int
Run Code Online (Sandbox Code Playgroud)

这是可以理解的 - 我们在monadic变量(IO 2)中打包2但是以下是什么意思?

m >>= return
Run Code Online (Sandbox Code Playgroud)

它输出2.

正如我从Monad定义中所知,返回总是只接受一个参数.但是,这里的争论不存在.如何理解?

monads haskell

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

如何创建Haskell函数,返回整数列表中的每个第三个元素

我想创建一个函数,从int的列表返回每个第三个int而不使用任何预定义的函数.例如,everyThird [1,2,3,4,5] --> [1,4]

everyThird:: [a] -> [a]
Run Code Online (Sandbox Code Playgroud)

我可以继续使用tail迭代列表并每隔三次调用追加到一个新列表吗?我是Haskell的新手并且对所有这些感到非常困惑

haskell functional-programming

0
推荐指数
4
解决办法
678
查看次数

数据构造函数中的奇怪类型语法

我找到了一些代码

data Tree c a = Node String [Tree c a]
              | NodeWithCleanup c [Tree c a]
              | Leaf a
Run Code Online (Sandbox Code Playgroud)

我不明白为什么有必要添加[Tree c a].我不知道这个语法,你能解释一下吗?

haskell

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

我可以创建一个Haskell函数,将一些字符串放在元组或列表中吗?

例如,我在输入中有一个字符串:"aaa bbb ccc dddd",我的函数给了我

["aaa", "bbb", "ccc", "dddd"]
Run Code Online (Sandbox Code Playgroud)

要么

("aaa", "bbb", "ccc", "dddd")
Run Code Online (Sandbox Code Playgroud)

有可能吗?

haskell functional-programming tuples list

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

计算列表中的出现次数

我想计算Haskell中列表中元素的出现次数,但是有一个错误,我不知道为什么.

count:: Int -> [Int] -> Int
count n []= 0
count n (h:t) | (n `elem` (h:t)) =1+ count (n t) 
       | otherwise = count(n t)
Run Code Online (Sandbox Code Playgroud)

haskell list count

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

如何添加"." 字符串中的每个字母之前

标题说我只需要添加一个.在我的字符串中的每个字母之前删除元音并使其小写我得到它工作只是不能添加.s这里是我的代码

s = str(input())
vowels = ('a','e','o','u','i','A','E','O','U','I')
for letter in s:
    if letter in vowels:
        s = s.replace(letter,'').replace()
print(s)
Run Code Online (Sandbox Code Playgroud)

python

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

Haskell列表过滤带有两个参数

我必须编写一个函数,该函数使用结果一个参数True过滤,然后使用结果另一个参数过滤False

我尝试了这个:

selectUnless :: (t -> Bool) -> (t -> Bool) -> [t] -> [t]
selectUnless fx gx (x:xs) = filter gx (filter fx (x:xs))
Run Code Online (Sandbox Code Playgroud)

但是我需要“ not gx”所在的列表。

例如:

selectUnless (>= 2) (==2) [1,2,3,4] == [3,4]
selectUnless even odd [1..50] == [2,4..50]
Run Code Online (Sandbox Code Playgroud)

haskell list filter

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

查找求和小于等于1000的给定整数所需的素数最少

这是我最近面临的编程挑战。

您得到的数字小于1000,您需要确定求和到给定数字的素数最少为多少。

例子:

12: 2 (since 12=7+5)
14: 2  (since 14 = 7+7)
Run Code Online (Sandbox Code Playgroud)

如果不可能将给定的数字分解为素数之和,则返回-1。

以下是一些测试用例:

88:2
117:3
374:2
363:3
11:1
Run Code Online (Sandbox Code Playgroud)

algorithm dynamic-programming greedy

0
推荐指数
2
解决办法
108
查看次数

Gen是Functor的实例吗?

我正在了解Haskell中的函子,我想知道QuickCheck是否Gen是的实例Functor?任何见解都表示赞赏。

haskell functional-programming functor

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

itemgetter 是如何工作的?当我们将其初始化为 key 时会发生什么

>>> from operator import itemgetter
>>> a = [(5, 3), (1, 3), (1, 2), (2, -1), (4, 9)]
>>> sorted(a, key=itemgetter(0))
[(1, 3), (1, 2), (2, -1), (4, 9), (5, 3)]
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?key 也是一个函数吗?我对 key=itemgetter(0) 背后的内容感到困惑?如果有人可以一步一步解释

python sorting

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