点运算符对函数的返回值

时间:2018-03-17 00:19:52

标签: f#

你可以在函数的返回值上应用点运算符并从那里链接它吗?

例如

type Person = {
    name: string
}

let getPerson =
    let person = {name = "John Doe"}
    person

sprintf "%s" getPerson().name

1 个答案:

答案 0 :(得分:2)

  

你可以在函数的返回值上应用点运算符并从那里链接它吗?

取决于函数的返回值。在您的情况下,它是一种记录类型,答案是肯定的:您可以使用点语法访问其字段。

但是你的例子中有两个问题。 getPersonPerson记录值 - 不是返回 Person记录的函数。在您的示例中,您只需添加一个单位参数即可使其成为函数:

let getPerson () =
    let person = {name = "John Doe"}
    person

你需要在括号中包含函数调用和点语法,以将其传递给sprintf

sprintf "%s" (getPerson().name)