dhall-to-yaml 函数 文本输出以双引号引出
dhall-to-yaml funtion Text output is being output in double quotes
我有以下函数,当通过 dhall-to-yaml 处理时,它的输出用双引号括起来,但是注入记录中的静态字符串没有用引号括起来,我如何控制用双引号括起来的内容什么没有?
let base64 = \(encode : Text) -> "!Base64 ${encode}"
let john : Profile =
{ person =
{ name = base64 "test"
, age = 67
}
, address =
{ country = "United States"
, state = "Pennsylvania"
, city = "Philadelphia"
}
}
输出
address:
city: Philadelphia
country: United States
state: Pennsylvania
person:
age: 67
name: "!Base64 test"
期望的输出:
address:
city: Philadelphia
country: United States
state: Pennsylvania
person:
age: 67
name: !Base64 test
目前,dhall-to-yaml
和 dhall-to-yaml-ng
命令在字符串字段中包含特殊字符时会引用它们,以确保 Dhall Text
值在转换为 YAML 时只能被解释为纯数据.此外,如果您需要未转义的文本(例如发出标签),还没有省略引用行为的选项,也没有指定标签的标准方法。
您可能想在 https://github.com/dhall-lang/dhall-haskell/issues 上提出一个问题来讨论解决问题的可能方法,因为我想您不是唯一想要在 YAML 输出中发出标签的人。
我有以下函数,当通过 dhall-to-yaml 处理时,它的输出用双引号括起来,但是注入记录中的静态字符串没有用引号括起来,我如何控制用双引号括起来的内容什么没有?
let base64 = \(encode : Text) -> "!Base64 ${encode}"
let john : Profile =
{ person =
{ name = base64 "test"
, age = 67
}
, address =
{ country = "United States"
, state = "Pennsylvania"
, city = "Philadelphia"
}
}
输出
address:
city: Philadelphia
country: United States
state: Pennsylvania
person:
age: 67
name: "!Base64 test"
期望的输出:
address:
city: Philadelphia
country: United States
state: Pennsylvania
person:
age: 67
name: !Base64 test
目前,dhall-to-yaml
和 dhall-to-yaml-ng
命令在字符串字段中包含特殊字符时会引用它们,以确保 Dhall Text
值在转换为 YAML 时只能被解释为纯数据.此外,如果您需要未转义的文本(例如发出标签),还没有省略引用行为的选项,也没有指定标签的标准方法。
您可能想在 https://github.com/dhall-lang/dhall-haskell/issues 上提出一个问题来讨论解决问题的可能方法,因为我想您不是唯一想要在 YAML 输出中发出标签的人。