小编Mat*_*oot的帖子

学习用英语阅读haskell

我来自面向对象的背景(C,c ++,java)所以我习惯于能够用英语阅读一行代码来理解它在做什么.

我目前正在进行测试,以获得额外的信用.我有几行haskell我无法弄清楚如何阅读所以我无法弄清楚他们做了什么.我希望有人可以把它们变成英语句子.

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

i = i + 1
Run Code Online (Sandbox Code Playgroud)

我等于i + 1的内容.

要么

sul ys = all (`elem` ys)
Run Code Online (Sandbox Code Playgroud)

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

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

twasf p = foldr clip [] where
    clip x xs | p x = x : xs 
              | otherwise = []
Run Code Online (Sandbox Code Playgroud)

(我不知道如何翻译"|")

infixl 5 <*>
xs <*> ys = zipWith ($) xs ys
Run Code Online (Sandbox Code Playgroud)

(我不知道怎么说)

rd []     = []
rd (a:as) = if a `elem` rd as then as else a : rd as
Run Code Online (Sandbox Code Playgroud)

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

任何帮助都将不胜感激.如果有人可以指向我帮助您翻译语言的网站,则非常愿意阅读其他网站.

haskell

12
推荐指数
3
解决办法
888
查看次数

标签 统计

haskell ×1