F#Main argv和if语句混淆

San*_*ine 4 f#

目的是EntryPoint什么?如何将变量传入argv允许它打印出"Hello变量"而不是接收默认的不足参数?

[<EntryPoint>]
let main argv = 
    if argv.Length >= 1
        then printfn "Hello %s" argv.[0]; 0
        else printfn "Not enough arguments"; 1
Run Code Online (Sandbox Code Playgroud)

Dav*_*haw 7

[EntryPointAttribute]是运行应用程序时要调用的第一个函数:

将此属性添加到函数表明它是应用程序的入口点.如果没有为EXE指定此缺席,则编译序列中最后一个文件中的模块绑定中隐含的初始化将用作入口点.

要在调试时传递值,可以在Project Properties中设置一些参数(假设您使用的是Visual Studio).

转到项目菜单,选择MyProject Properties ...,然后从左侧选择Debug页面,您可以在那里输入您的参数:

项目属性,调试

如果您不使用Visual Studio,那么应该有一种方法可以执行此操作,查阅文档或更新您的问题.

如果您在调试器外运行,则需要一个cmd窗口,然后只需传递它们:

> MyProject.exe /Arg1
Run Code Online (Sandbox Code Playgroud)