gpt4 book ai didi

f# - F# 的 Main 中的 args[]

转载 作者:行者123 更新时间:2023-12-04 01:17:36 25 4
gpt4 key购买 nike

这是我按照 Chris Smith 的 Programming F# 一书尝试使用 F# 编写的一些代码:

(*
Mega Hello World:
Take two command line parameters and then print
them along with the current time to the console.
*)
open System
[<EntryPoint>]
let main (args : string[]) =
if args.Length <> 2 then
failwith "Error: Expected arguments <greeting> and <thing>"
let greeting, thing = args.[0], args.[1]
let timeOfDay = DateTime.Now.ToString("hh:mm tt")
printfn "%s, %s at %s" greeting thing timeOfDay
// Program exit code
0
main(["asd","fgf"]) |> ignore

在 main 中有一个错误说:这个表达式应该有类型 'String[]' 但这里 ahs 类型“a list'。但是 string[] 是一个字符串数组。所以我不明白我的意思错误。

最佳答案

string[] 确实是一个字符串数组,但是 ["asd", "fgf"] 不是 - 它是一个列表,这就是为什么你得到它错误。

要创建数组,请使用 [|"asd"; "fgf"|](请注意,在列表和数组中,; 用作分隔符 - , 创建元组)。

此外,标记为EntryPoint 的函数之后不能有代码。即使可以,调用该函数也没有意义,因为它已经使用命令行参数自动调用 - 这就是 EntryPoint 属性的要点。

关于f# - F# 的 Main 中的 args[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53806398/

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