屏幕未显示,Haskell中的Console.ReadLine()?

时间:2019-05-28 16:38:50

标签: haskell

我在Windows 10中使用GHC 8.6.5。

我是Haskell的初学者,但是有一些C#经验。当我尝试 j和我编译后,程序仅显示屏幕一会儿。我想要C#中的function [x, y] = projectPointLine(xp, yp, x1, y1, x2, y2) if nargin > 0 xd = (x2-x1)'; yd = (y2-y1)'; dAB = xd.*xd + yd.*yd; u = bsxfun(@rdivide, bsxfun(@times, bsxfun(@minus, xp, x1'), xd) + ... bsxfun(@times, bsxfun(@minus, yp, y1'), yd), dAB); x = bsxfun(@plus, x1', bsxfun(@times, u, xd)); y = bsxfun(@plus, y1', bsxfun(@times, u, yd)); else nLine = 3; nPoint = 2; xp = rand(nPoint, 1) * 2 -1; yp = rand(nPoint, 1) * 2 -1; x1 = rand(nLine, 1) * 2 -1; y1 = rand(nLine, 1) * 2 -1; x2 = rand(nLine, 1) * 2 -1; y2 = rand(nLine, 1) * 2 -1; tic; [x, y] = projectPointLine(xp, yp, x1, y1, x2, y2); toc close all; plot([x1'; x2'], [y1'; y2'], '.-', 'linewidth', 2, 'markersize', 20); axis equal; hold on C = lines(nPoint + nLine); for i=1:nPoint scatter(x(i, :), y(i, :), 100, C(i+nLine, :), 'x', 'linewidth', 2); scatter(xp(i), yp(i), 100, C(i+nLine, :), 'x', 'linewidth', 2); end for i=1:nLine scatter(x(:, i)', y(:, i)', 100, C(i, :), 'o', 'linewidth', 2); end end end 之类的东西,以便在我按Enter键之前,屏幕一直保持不变。我该怎么办?

我在网上搜寻了2个小时都是徒劳的。

main = putStrLn "Hello, World!"

1 个答案:

答案 0 :(得分:4)

getLine读取整行(将其作为字符串返回,但您不需要)。

main = do
   putStrLn "Hello, World!"
   getLine

通过这种方式,您需要按Enter退出程序。