Questions tagged «function»

对于要求功能或以某种方式涉及功能的挑战。(也称为方法或子例程。)

2
将无点转换为有点
作为一名Haskell黑客,我更喜欢无意义的符号而不是有意义的符号。不幸的是,有些人发现难以理解的无点符号,而当我用有针对性的方式编写时,我发现很难获得正确的括号数量。帮我将用pointfree编写的代码转换为有意义的符号! 关于 在无点表示法中,我们使用点(是的,确实)将一个函数的输出馈送到另一个函数。说,如果您有一个succ将数字加1的函数,并且想制作一个将数字加3的函数,而不是这样做: \x -> succ(succ(succ(x))) 您可以这样做: succ.succ.succ Pointfree仅适用于带有单个参数的函数(无论如何,在这个挑战中),因此,如果我们的函数不是succ,而是add采用2个数字并将它们相加,我们将不得不向其提供参数,直到只剩下一个: pointful: \x -> add 1(add 1(add 1 x)) pointfree: add 1 . add 1 . add 1 最后,函数可以将其他函数用作参数: Pointfree: map (f a . f b) . id Pointful: \x -> map (\x -> f a (f b x)) (id x) Javascript …

5
高尔夫定点组合器
用您选择的语言编写尽可能少的字符的定点组合器。 自由形式(即最短的形式):整个程序,实际功能,代码段 如果您有一个标准库,则可能无法使用 但是,您可能希望从其他高级函数中提取它,而不是从基础上构造它 请包括将其用作演示的递归阶乘或斐波那契。 在这个问题中,自引用是可以接受的,其目的仅仅是将其从递归函数中删除。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.