4

我在玩 dhall,想知道如何实现形式的字符串拆分功能

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

但是,似乎 dhall没有代表单个字符的概念/类型。而Prelude中没有这个功能。

对 Text 值唯一能做的就是连接它们

所以……有可能吗?

4

1 回答 1

6

现有的 Dhall 内置函数目前无法实现这一点。该Text类型在概念上是不透明的,类似于Double. 对类型值唯一能做的Text就是连接它们,但你不能自省、解析或比较它们是否相等。

我以这种方式进行限制的最初理由Text是,该语言鼓励将强类型表示上游化到其输入中。例如,不是拆分字符串,而是要求字符串已经被拆分(即期望输入类型List Text而不是Text)。但是,这可能会在某个时候发生变化,因为该标准不是一成不变的,而是通过此处概述的过程随着时间的推移而发展:

此外,即使不更改语言,您仍然可以按照本指南使用 Haskell API 使用您自己的内置插件扩展语言来进行试验:

于 2019-01-09T19:44:13.730 回答