如何设置[<Out>]参数?

cnd*_*cnd 4 f#

我正在使用论证: [<Out>] message : string

但是当我试图设置它时:消息< - "开始位置没有数字"

我收到错误,因为消息不可变.如何列出论点?

Gen*_*ski 6

使用类型byref<string>和属性公开方法参数,[<Out>]并使用address-of运算符作为参数使用可变值&:

open System.Runtime.InteropServices

let mutable msg = "abc"

let outmsg ([<Out>]message : byref<string>) =
    message <- "xyz"

msg <- "test"
outmsg(&msg)
msg;;

val mutable msg : string = "xyz"
val outmsg : byref<string> -> unit
Run Code Online (Sandbox Code Playgroud)