casting - 不理解类型转换的 F# 语法
问题描述
这有效:
let a = 3
let b = string b
let c = a |> string
但:
let a = string j.SelectToken("hello")
不起作用,而
let a = j.SelectToken("hello") |> string
作品。
这是为什么?
解决方案
编译器认为您想将 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
推荐阅读
- android - FragmentStateAdapter createFragment - 你什么时候真正需要创建新的片段/什么时候片段被删除?
- coq - Coq Notation 语法错误:[term level 200] 预期在 [term level 200] 之后(在 [term] 中)
- azure - 使用 Terraform 克隆 Azure 订阅或资源
- phpmyadmin - 如何通过 phpMyAdmin SQL 访问 NAS 文件日志?
- android - 是否有一个 android 图形 api 可以安全地重用图像缓冲区?
- ios - 如何加载多个网页并在它们之间切换?
- angular - 量角器:CRUD 操作
- rust - 通过使用来自 lib.rs 的模块 use crate::module
- r - 如何使用 R 中的半监督朴素贝叶斯预测未标记数据集的响应变量?
- javascript - 如何停止二叉搜索树遍历?