gpt4 book ai didi

functional-programming - elm 支持美元运算符 ($) 吗?

转载 作者:行者123 更新时间:2023-12-03 23:29:33 24 4
gpt4 key购买 nike

在 Haskell 中,您可以使用 $运算符清理代码位,消除对括号的需要。

elm 是否支持这个操作符,或者类似的东西?

我可以自己定义它,但我希望这是内置的。

这是它的工作原理:

import Html
import List exposing (map, foldr)

datas = [("a", 1), ("b", 2), ("c", 3)]

{--}
($) : (a -> b) -> (a -> b)
($) a b = a b
infixr 0 $
--}

main =
{-- replace all these parens
Html.text (toString (foldr (++) "" (map fst datas)))
--}
Html.text $ toString $ foldr (++) "" $ map fst datas

最佳答案

是的,我们使用 <|而不是 $ .我们从 F# 中借用了它以及翻转版本 |><<作曲用.和翻转版本 >> .
一旦这些被引入,人们自然而然地被称为“流水线”的风格所吸引,您可以在其中获取一些数据并使用 |> 分几步进行转换。运算符(operator)。如今,这是 Elm 代码中比使用 <| 更常见的代码模式。 .

例如:

update : (Float, Keys) -> Model -> Model
update (dt, keys) mario =
mario
|> gravity dt
|> jump keys
|> walk keys
|> physics dt

(摘自 Mario example on the website)

关于functional-programming - elm 支持美元运算符 ($) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34127094/

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