0

我有一个类型

let Resource = \(a : Type) ->
  { name : Text
  , type : Text
  , properties : a
  }

和一个函数foo : InstanceTemplateProperties -> Properties

我需要创建一个函数Resource InstanceTemplateProperties -> Resource Properties

我可以把它写成

\(p : Resource InstanceTemplateProperties) ->
  { name = p.name
  , type = p.type
  , properties = foo p.properties
  } : Resource Properties

但是看起来真的很麻烦。有没有更简单、更惯用的方法来做到这一点?

4

1 回答 1

1

您可以使用//将更新的属性合并到原始属性中。

(\p : Resource InstanceTemplateProperties) ->
  p // {properties = foo p.properties)
于 2020-01-13T17:49:31.940 回答