gpt4 book ai didi

haskell - 学习用英语阅读 haskell

转载 作者:行者123 更新时间:2023-12-02 10:04:47 25 4
gpt4 key购买 nike

我有面向对象的背景(C、C++、Java),所以我习惯于能够阅读一行英文代码来理解它在做什么。

我目前正在做测试附录,以获得额外学分。我有几行 Haskell 我不知道如何阅读,所以我不知道它们是做什么的。我希望有人能把它们改成英文句子。

我所说的英语句子的一个例子是:

i = i + 1

i 等于 i + 1 的内容。

sul ys = all (`elem` ys)

函数 sul 检查 ys 的所有元素是否有条件,同时检查 ys 中是否找到特定元素,然后返回 true 或 false(至少我认为这就是它的作用,老师说忽略所有和的事实) elem 都需要两个参数。

我无法理解的几段代码是:

twasf p = foldr clip [] where
clip x xs | p x = x : xs
| otherwise = []

(我不知道如何翻译“|”)

infixl 5 <*>
xs <*> ys = zipWith ($) xs ys

(我不知道该怎么说)

rd []     = []
rd (a:as) = if a `elem` rd as then as else a : rd as

(我认为这是“创建一个空列表rd,然后检查as中的a。如果找到则返回as,否则将a推到前面并返回as)

如有任何帮助,我们将不胜感激。如果有人能给我指出一个可以帮助您翻译语言的网站,我非常愿意阅读其他网站。

最佳答案

第一部分:

    clip x xs | p x = x : xs 
| otherwise = []

clip: If p(x) holds, return x:xs, otherwise return the empty list.

xs <*> ys = zipWith ($) xs ys

<*> applies a list of functions to a list of values.

rd []     = []
rd (a:as) = if a `elem` rd as then as else a : rd as

每个字的字数:

If the list is empty, return the empty list. Else, check if the first element of the list is contained more than once, if so remove it and return the rest of the list. Else return the first element and apply the function recursive to the rest.

关于haskell - 学习用英语阅读 haskell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4393908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com