这是一个完整的Elm脚本,它将一堆元组放入HTML <ul>
元素中。
import Html exposing (ul, li, text)
import List exposing (map)
values = [(1,2,3), (4,5,6), (7,8,9)]
main =
ul [] (values |> map (\t -> li [] [text(toString(t))]))
我喜欢在可能的情况下使用|>
或其他高阶运算符,但考虑到t
在上面的表达式中相对较深的嵌套,我还是无法弄清楚表达这条线的好方法。在Elm中是否有更高阶的运算符允许\t
lambda不必要?
我意识到使用lambda可能更具可读性,但是想知道这里应该使用哪种组合器,因为toString
调用是在列表中。
答案 0 :(得分:6)
如果你想避免使用lambda,那么从values
和“管道”开始就更容易了,一次转换一步,使它达到你想要的最终形式:
import Html exposing (ul, li, text)
import List exposing (map, repeat)
values = [(1,2,3), (4,5,6), (7,8,9)]
main
= map toString values
|> map text
|> map (repeat 1)
|> map (li [])
|> ul []