首页 > 解决方案 > 不理解类型转换的 F# 语法

问题描述

这有效:

let a = 3
let b = string b
let c = a |> string

但:

let a = string j.SelectToken("hello")

不起作用,而

let a = j.SelectToken("hello") |> string

作品。

这是为什么?

标签: castingf#

解决方案


编译器认为您想将 j.SelectToken 传递给字符串。请记住,函数是值,所以这是合法的。这些工作中的任何一个:

let a = j.SelectToken "hello" |> string
let a = string (j.SelectToken "hello")
let a = string <| j.SelectToken "hello"
let a = "hello" |> j.SelectToken |> string

推荐阅读