我可以从这个Elm表达式中删除lambda吗?
下面是一个完整的Elm脚本,它将一组元组放入HTML我可以从这个Elm表达式中删除lambda吗?,lambda,higher-order-functions,elm,combinators,Lambda,Higher Order Functions,Elm,Combinators,下面是一个完整的Elm脚本,它将一组元组放入HTML元素中 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的嵌套相对较深,我一直无法
元素中
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
调用在列表中,我想知道这里应该使用哪种组合符。
如果您想避免lambda,则更容易从值开始并“管道化”它,一步一步地将其转换为您想要的最终形式:
导入Html(ul、li、文本)
导入列表(映射,重复)
值=[(1,2,3)、(4,5,6)、(7,8,9)]
主要的
=映射到字符串值
|>地图文本
|>地图(重复1)
|>地图(li[])
|>ul[]
Awesome,repeat 1
是关键。我现在支持main=ul[](map(li[]text>>repeat 1>>li[])|>ul[]