代码之家  ›  专栏  ›  技术社区  ›  Johannes Rudolph

在达尔分裂一根绳子

  •  1
  • Johannes Rudolph  · 技术社区  · 7 年前

    我在玩Dhall,想知道如何实现窗体的字符串拆分函数。

    λ(text: Text) -> λ(delimiter: Text) -> List Text

    然而,似乎是达尔 has no concept/type to represent individual characters. 序曲中没有这样的功能。

    对文本值唯一能做的就是将它们连接起来

    所以…有可能吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Gabriella Gonzalez    7 年前

    这在现有的dhall内置函数中目前是不可能的。这个 Text 类型在概念上是不透明的,类似于 Double . 唯一可以对类型的值执行的操作 文本 是将它们连接起来,但不能为了相等而内省、分析或比较它们。

    我最初的限制理由 文本 通过这种方式,语言鼓励将强类型表示上游化到其输入中。例如,不是拆分字符串,而是要求该字符串已被拆分(即,需要类型为的输入 List Text 而不是 文本 )然而,这可能会在某一点上发生变化,因为标准并非一成不变,并随着时间的推移通过以下概述的过程演变:

    此外,即使不更改语言,您仍然可以通过使用haskell API使用自己的内置程序扩展语言,并遵循以下指南进行试验:

    推荐文章