打印每个字符键入w / Scalaz

时间:2015-03-31 20:42:35

标签: haskell scalaz

我尝试编写以下Haskell函数,但在Scala中(使用scalaz):

ghci>let f = do { x <- getChar; _ <- putChar(x); return () }
ghci>f -- then type '4'
44ghci>

这是我尝试的内容:

def showInput: IO[Unit] = for {
    c      <- getChar
    _      <- putChar(c)
} yield ()

然后我跑了它:

scala> net.repl.Foo.showInput
res2: scalaz.effect.IO[Unit] = scalaz.effect.IOFunctions$$anon$6@73e3ae3a

运行该方法后,我输入了1234。但是,我必须在输出(enter)之前按1

scala> res2.unsafePerformIO
1 

如何编写上面的scalaz函数以使其与Haskell函数的行为相同?

0 个答案:

没有答案