我正在尝试编写类似于以下内容的代码:
let [a; b] =
(* body *)
[1; 2]
我想仅针对该模式禁用警告#8[a; b]
而不是为了身体或让之外的任何东西。我尝试设置警告属性来禁用警告,但以下方法都不起作用:
let[@warning "-8"] [a[@warning "-8"];b[@warning "-8"]] [@warning "-8"] =
[1;2][@warning "-8"]
[@@ocaml.warning "-8"]
附:我并不是真的在编写这段代码,而是正在尝试使用自定义 PPX 预处理器。因此,一个复杂但有效的示例是可以接受的。
本地禁用警告[@warning "…"]
and [@@warning "…"]
4.06.0 之前的 OCaml 版本没有得到很好的支持。对于这样的版本,一种可能性可能是使用封闭的[@@@warning ""]
属性:
[@@@warning "-8"]
let [a;b] = [1;2]
[@@@warning "+8"]
但这也会使体内的警告失效。
如果您正在生成代码并且统计地知道列表的大小,另一个选择可能是使用元组进行绑定(又名let (a,b)= …
)?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)