gpt4 book ai didi

windows - 停止程序在完成后退出

转载 作者:可可西里 更新时间:2023-11-01 11:18:10 24 4
gpt4 key购买 nike

我是 Haskell 的新手,正在尝试在 Windows 机器上进行设置。我让它编译但是当我运行 .exe 文件时,程序运行并立即退出,几乎没有显示输出。

下面是我创建的示例代码

module Main where
m = 2 * n
n = f 4

--functions
f::Int -> Int
f x = 2 * x

g::Int -> Int -> Int
g x y = 2 * x * y

main = do
x <-getChar --used to pause program

print m
print $ f m
print $ g m n

我使用 getChar 暂停程序,直到按下某个键。我一直在尝试弄清楚如何在打印语句之后执行类似退出的操作。我该怎么做,还有更好的方法吗?

最佳答案

如果您在 Windows 中通过单击运行您的程序,那么它会获得一个自己的终端窗口,一旦程序运行,该窗口就会自行退出。我想这就是您所做的,或类似的。

但是,如果您改为启动一个带有 DOS 提示符的终端窗口,并从那里运行程序,那么该窗口将在程序结束后继续存在,您可以看到您的输出。

您还可以使用 :main 从 GHCi 或 WinGHCi 内部运行该程序命令。

最后,您的 x <- getChar 几乎可以在 main 结束时工作吗? , 但有一条规则是 do 中的最后一条语句 block 必须是一个表达式,所以它不能绑定(bind)一个变量。但是你没有使用 x对于任何东西,所以你可以删除 x <-部分:

main = do
print m
print $ f m
print $ g m n
getChar --used to pause program

关于windows - 停止程序在完成后退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28036774/

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