[英]Does Clojure have an operator similar to Haskell's Dollar Symbol?
[英]Is the dollar operator ($) supported in elm?
在Haskell中,您可以使用$
運算符來清理代碼,從而無需使用parens。
榆樹是否支持這種運算符,或類似的東西?
我可以自己定義,但我希望這是內置的東西。
以下是它的工作原理:
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#借用了翻轉版本|>
和<<
for composition .
和翻轉版>>
。
一旦這些被引入,人們自然會傾向於稱為“流水線”的樣式,您可以使用|>
運算符獲取一些數據並使用幾個步驟對其進行轉換。 這些天,這是榆樹代碼中比使用<|
更常見的代碼模式 。
例如:
update : (Float, Keys) -> Model -> Model
update (dt, keys) mario =
mario
|> gravity dt
|> jump keys
|> walk keys
|> physics dt
(摘自網站上的馬里奧示例 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.