定义一个F#函数并避免返回值

定义一个F#函数并避免返回值,f#,F#,定义一个函数,该函数有一个在控制台上显示的字符串类型的参数。调用传递消息的函数。确保函数忽略任何返回值 open System let NoReturnFunction msg = Console.WriteLine(string(msg)) NoReturnFunction "Hello World" 我很难避免函数的返回值,在这种情况下,因为WriteLine方法不返回任何值,所以没有工作要做。这是一个void返回函数。一般来说,忽略F#中的返回值的方法是使用ignor

定义一个函数,该函数有一个在控制台上显示的字符串类型的参数。调用传递消息的函数。确保函数忽略任何返回值

open System    
let NoReturnFunction msg =
    Console.WriteLine(string(msg))


NoReturnFunction "Hello World"

我很难避免函数的返回值,在这种情况下,因为
WriteLine
方法不返回任何值,所以没有工作要做。这是一个
void
返回函数。一般来说,忽略F#中的返回值的方法是使用
ignore
函数

1 + 2 |> ignore 
在您的代码示例中,有几处细微的挑剔。首先,只需键入参数,就可以避免转换为
string
。第二,在F#中,使用
printfn
函数而不是
Console.WriteLine

let NoReturnFunction (msg : string) = 
    printfn "%s" msg 

为了完整起见,您还可以让F#推断参数类型和返回类型——如下所示:


这将推断s的类型和NoReturnFunction的返回类型(本例中为单位)。

注意,如果使用
printf
,则不需要对类型进行注释,因为它是类型安全的。更简单的是:让NoReturnFunction=printfn“%s”@Lars,您应该将其作为答案发布。人们可能会在评论中忽略这一点。
let NoReturnFunction st = printfn "%s" st