繁体   English   中英

Haskell无法传递变量

[英]Haskell cant pass variables

我是Haskell的初学者,在路上遇到了一个非常烦人的颠簸。 在当前阶段,我只是试图将一个列表从我的主要功能传递到另一个功能,然后打印它,但我不明白为什么它不起作用。

在我的脑海中,我觉得自己应该能够:

    main = do
          putStrLn "-----Text Editor-----" 
          putStrLn "Please enter your text"
          leftString <- getLine
          putStrLn $ "\n\n" ++ leftString ++ "|" 

    moveCursorLeft = do
          putStr $ leftString

但这似乎不起作用,因为'leftString'不在范围内。

函数调用是调用方和被调用方之间的握手:调用方必须传递一些参数,并且被调用方必须接受它们。 在编写过程中, moveCursorLeft不接受任何参数。 但是不用担心,很容易解决:

    moveCursorLeft leftString = do
        putStr $ leftString

您现在可以在main使用它,例如

    main = do
        leftString <- getLine
        putStr "\n\n"
        moveCursorLeft leftString
        putStrLn "|"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM