gpt4 book ai didi

f# - 我可以在 F# Interactive 中获取没有内容的值的推断类型吗?

转载 作者:行者123 更新时间:2023-12-04 13:48:09 42 4
gpt4 key购买 nike

在 F# Interactive 控制台中创建值时,会显示推断的类型和值的内容。

以后如何在不显示所有内容的情况下重新显示推断类型?

例如,我有一个包含 1000 个项目的数组 mydata。在 F# Interactive 控制台中键入 mydata 将显示类型以及数组的内容。

最佳答案

如何将 printfn 与这样的类型一起使用:

F# Interactive for F# 3.1 (Open Source Edition)
Freely distributed under the Apache 2.0 Open Source License
For help type #help;;

>
val mya : int [] = [|3; 2; 5; 6; 7; 8|]

> printfn "%A" (mya.GetType());;

System.Int32[]
val it : unit = ()

您可以使用一些实用函数来缩短所需的输入:

let pm v = printfn "%A" (v.GetType())

您可以按如下方式使用:

> pm mya;;

System.Int32[]
val it : unit = ()

“pm”代表“打印我”。随心所欲地调用它:)

如果您不喜欢 GetType() 中的类型名称,另一种方法是让您想要计算的值出错。这将为您提供更友好的 F# 类型名称(当然,如果您不介意忽略该错误)。例如在列表上你可以这样做:

> 
val myl : string list = ["one"; "two"]

> printfn myl;;

Script.fsx(195,9): error FS0001: The type 'string list' is not compatible with the type 'Printf.TextWriterFormat<'a>'

注意''之间的类型字符串列表

最后你可以使用:( MSDN )

fsi.ShowDeclarationValues <- false

但这只会让初始评估沉默。

关于f# - 我可以在 F# Interactive 中获取没有内容的值的推断类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639219/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com