【问题标题】:Splitting a string in dhall在 dhall 中拆分字符串
【发布时间】:2022-04-21 06:44:51
【问题描述】:

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

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

但是,它似乎是 dhall has no concept/type to represent individual characters.,并且在 Prelude 中没有这样的功能。

您可以对 Text 值做的唯一事情就是将它们连接起来

那么……有可能吗?

【问题讨论】:

    标签: dhall


    【解决方案1】:

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

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

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

    编辑:写此评论后发生了变化,即该语言现在支持 Text/replace 内置函数,因此即使您仍然无法拆分字符串,您也可以将一个分隔符替换为另一个分隔符。例如:

    ⊢ Text/replace " " "," "Foo Bar Baz"
    
    "Foo,Bar,Baz"
    

    【讨论】:

      猜你喜欢
      • 2019-10-11
      • 1970-01-01
      • 2021-01-19
      • 2020-12-01
      • 1970-01-01
      • 2021-08-12
      • 2021-08-26
      • 2010-11-28
      • 2015-01-04
      相关资源
      最近更新 更多