3

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

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


NoReturnFunction "Hello World"

我在如何避免函数返回值方面遇到麻烦

4

2 回答 2

8

在这种情况下,没有工作可做,因为该WriteLine方法不返回任何值。这是一个void返回函数。通常,尽管在 F# 中忽略返回值的方法是使用该ignore函数。

1 + 2 |> ignore 

对您的代码示例进行了一些次要的挑剔。首先是您可以string通过简单地键入参数来避免强制转换。printfn第二在 F# 中使用函数而不是更惯用Console.WriteLine

let NoReturnFunction (msg : string) = 
    printfn "%s" msg 
于 2013-03-10T01:18:39.287 回答
0

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

let NoReturnFunction st = printfn "%s" st

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

于 2013-03-12T23:58:05.657 回答