Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elm:部分函数应用和Let_Elm_Let - Fatal编程技术网

Elm:部分函数应用和Let

Elm:部分函数应用和Let,elm,let,Elm,Let,该页面建立在上一页的基础上,但没有介绍如何更新主函数,该函数是用正向函数表示法编写的,它是: main = time 2 3 |> speed 7.67 |> escapeEarth 11 |> Html.text 以包括新的fuelStatus参数 编译器抱怨类型不匹配,这是正确的,因为escapeEarth现在有第三个参数,即字符串 如该站点所述,“forward函数应用程序运算符从上一个表达式中获取结果,并将其作为

该页面建立在上一页的基础上,但没有介绍如何更新主函数,该函数是用正向函数表示法编写的,它是:

main =
    time 2 3
        |> speed 7.67
        |> escapeEarth 11
        |> Html.text
以包括新的fuelStatus参数

编译器抱怨类型不匹配,这是正确的,因为escapeEarth现在有第三个参数,即字符串

如该站点所述,“forward函数应用程序运算符从上一个表达式中获取结果,并将其作为最后一个参数传递给下一个函数应用程序。”

换言之,我该如何写:

Html.text (escapeEarth 11 (speed 7.67 (time 2 3)) "low")
使用正向表示法

还有,为什么这张照片上没有“降落在无人机上”和“停留在轨道上”?它只打印“停留在轨道上”:


我想你需要的是

main =
    time 2 3
        |> speed 7.67
        |> \spd -> escapeEarth 11 spd "low"
        |> Html.text
换句话说,您可以定义一个小的匿名函数来正确插入值。您可能想看看是否应该以不同的顺序定义escapeEarth函数

如果您喜欢“无积分”,另一种选择是

main =
    time 2 3
        |> speed 7.67
        |> flip (escapeEarth 11) "low"
        |> Html.text
不过,有些人会说,这一点还不太清楚


至于第二个问题,您在let语句中定义了函数,但从未实际使用过它

三个不同的答案,每个答案都是解决问题的有效方法。非常感谢你,西蒙。请看一下我的第二点,关于为什么只打印一个字符串而不是两个字符串。
whereToLand
不会“打印”,因为它不是从函数返回的。它在let表达式中定义,但未在表达式中使用。谢谢Tyler,我明白我的错误,第二个else应该是else whereToLand fuelStatus,而不是else“回来”
main =
    time 2 3
        |> speed 7.67
        |> flip (escapeEarth 11) "low"
        |> Html.text