在Haskel/Elm中找不到关于此语法的任何内容:
bar day yOffset = rect [ x <| toString <| (day.xOffset * (barWidth + barMargin)), y <| toString <| if day.amount <= 0 then yOffset else yOffset - day.amount, height <| toString <| abs day.amount, width <| toString barWidth ] [ Svg.title [] [ text day.day ] ] min = List.map (\x -> x.words) lastTwoWeeks |> List.minimum |> Maybe.withDefault 0 |> (\x -> if x > 0 then 0 else x)
什么意思<| 和|>?
它不是语法,它只是一个普通的Elm函数.来自http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#%3C | :
(<|) : (a -> b) -> a -> b
向后功能应用
f <| x == f x
.此功能对于避免括号非常有用
和类似的x |> f == f x
.Haskell的等效的<|
被称为$
,并且|>
是Data.Function.&
(在基地4.8.0.0添加).