微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

F#使用F#Interactive从另一个脚本启动一个脚本

如何解决F#使用F#Interactive从另一个脚本启动一个脚本

| 我似乎找不到解决方法。基本上我想用伪代码做到这一点: MainScript.fsx:   printfn \“启动外部脚本\”      启动Script1.fsx      printfn \“完成\” Script1.fsx:   printfn \“我正在运行Script1 \” 因此,输出窗口应显示(运行MainScript.fsx之后):   \“启动外部脚本\”      \“我正在运行Script1 \”      \“完成\” 基本上,启动Script1.fsx是我不知道如何实现的方法。 提前致谢, 鲍勃     

解决方法

您可以使用
ProcessStartInfo
开始新的过程。您需要提供fsi.exe的路径,并将fsx文件用作参数。您需要将
UseShellExecute
设置为false才能在交互式shell中获得结果。 例如:
let exec fsi script =
    let psi = new System.Diagnostics.ProcessStartInfo(fsi)
    psi.Arguments <- script
    psi.UseShellExecute <- false
    let p = System.Diagnostics.Process.Start(psi)
    p.WaitForExit()
    p.ExitCode

exec @\"c:\\Program Files\\Microsoft F#\\v4.0\\Fsi.exe\" \"foo.fsx\"
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。