当前位置: 首页 > 知识库问答 >
问题:

我可以从Elm表达式中删除lambda吗?

魏成济
2023-03-14

下面是一个完整的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))]))

我喜欢使用|

我意识到使用lambda可能更易读,但是我想知道这里应该使用什么样的组合器,因为toString调用在列表中。


共有1个答案

宇文飞翮
2023-03-14

如果你想避免lambda,可以从值开始,然后通过“管道”将其传递,一步一步地将其转化为你想要的最终形式:

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 []

 类似资料:
  • 问题内容: 我有一个像这样的字符串/列 我想创建一个没有该部分的子字符串。 意思是我想要这样的东西 有这样的字符串列表,它们将具有不同的值,但格式将相同。我希望删除字符串的一部分,该部分在第一个空格之后并在下一个’_’结尾。 这是我已经做过的,运行正常,但是想知道是否有更好的方法。 如果我可以在db本身即oracle中而不是在Java中做到这一点,那就更好了。有什么想法直接使用select从列中获

  • (译注:目前支持lambda的gcc编译器版本为4.5,其它详细的编译器对于C++11新特性的支持请参考http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport) Lambda表达式是一种描述函数对象的机制,它的主要应用是描述某些具有简单行为的函数(译注:Lambda表达式也可以称为匿名函数,具有复杂行为的函数可以采用命名函数对象,当然,何谓复杂

  • Lambda表达式在Java 8中引入,并被吹捧为Java 8的最大特性.Lambda表达式有助于函数式编程,并简化了很多开发。 语法 (Syntax) lambda表达式的特征在于以下语法。 parameter -> expression body 以下是lambda表达式的重要特征。 Optional type declaration - 无需声明参数类型。 编译器可以从参数的值推断出相同的

  • 众所周知,当目标接口尚未继承可序列化的时,很容易向lambda表达式添加序列化支持,就像 我要求的是一种相反的方法,即在目标接口继承时显式删除序列化支持。 由于无法从类型中删除接口,基于语言的解决方案可能看起来像是(@NotSerializable TargetInterface)()- 即使在类实现可序列化时拒绝序列化在过去是一种合法的行为,并且类在程序员的控制下,模式如下: 但是对于lambd

  • 本文向大家介绍我们可以在JSP中测试XPath表达式吗?,包括了我们可以在JSP中测试XPath表达式吗?的使用技巧和注意事项,需要的朋友参考一下 <X:如果>标签计算一个测试XPath表达式,并且如果它是真实的,它处理它的身体。如果测试条件为假,则忽略主体。 属性 <X:如果>标签具有以下属性- 属性 描述 需要 默认 选择 要评估的XPath表达式 是 没有 变种 用于存储条件结果的变量名称

  • 问题内容: Java8中添加了Lambda表达式。我想理解为什么这很重要。对于尚未接触函数式编程习惯的Java程序员意味着什么?这是否意味着我可以编写出性能更好的代码或可大规模扩展的代码,还是只会使代码的详细程度降低。或全部。 问题答案: Oracle已经提供了有关该主题的教程。它列出了几个很好的用例。 在找到链接之前,我要说的是lambda表达式可让您将“函数”传递给代码。因此,您可以更轻松地编