我正在 Haskell 中构建 PB 对象,并且我不想指定可选字段。这可能吗?
在最简单的情况下,我有一个 header 字段,其中包含一个 failure_message
,在大多数情况下我希望该字段为空。我有一些代码,其中工作任务以 OK 状态响应:
let repMsg = ProtoMsg.WorkerResponse.WorkerResponse {
header = ProtoMsg.ReqResponse.ReqResponse {
ProtoMsg.ReqResponse.status = Just ProtoMsg.Status.OK,
failure_message = Nothing
}
}
有没有办法将所有未指定的字段设置为Nothing?在这种情况下,情况还不错,但是当有更多可选字段时,它会变得烦人。
最佳答案
您可以创建一个已设置了所需字段的记录值,然后更新该记录。
noFailureMsg = ProtoMsg.ReqResponse.ReqResponse {
failure_message = Nothing
}
let repMsg = ProtoMsg.WorkerResponse.WorkerResponse {
header = noFailureMsg {
ProtoMsg.ReqResponse.status = Just ProtoMsg.Status.OK
}
}
我不完全确定这就是您正在寻找的东西。
关于haskell - 在 haskell 中构建带有可选字段的 protobuf 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090702/