_(丢弃)使用没有意义!绑定?

Does _ (discard) not make sense for use! bindings?

提问人:Bent Rasmussen 提问时间:11/14/2023 更新时间:11/15/2023 访问量:69

问:

在我看来,这里存在不对称:

// Ok
use _ = { new IDisposable with member _.Dispose() = printfn "disposed" }

// Error! FS1288
use! _ = Async.OnCancel (fun () -> printfn "disposed")

为什么对第二次使用绑定施加这种限制?这仅仅是“尚未规范和实现”的情况,还是有更深层次的原因?

谷歌搜索和暴饮暴食都没有给出任何有用的结果。FS1288

异步 F# 释放

评论


答:

1赞 Brian Berns 11/15/2023 #1

允许在绑定中使用下划线是该语言中相当新的补充。显然,当时没有讨论过是否也允许它进行绑定。也许没有人想到它,你可以把它作为一个建议。useuse!