小编use*_*010的帖子

与haskell文字等号

当我加载一个带有以下行的文件时,GHCi究竟发生了什么:0 = 1?

我原以为这会产生错误,但似乎根本没有做任何事情.它有什么用吗?

我认为在GHCi中它只相当于"让0 = 1".那是做什么的?

haskell equality literals

18
推荐指数
2
解决办法
557
查看次数

haskell管道串入IO

对不起,如果这是一个常见的问题.我有这个简单的IO()功能:

greeter :: IO()
greeter = do
  putStr "What's your name? "
  name <- getLine
  putStrLn $ "Hi, " ++ name
Run Code Online (Sandbox Code Playgroud)

现在我想调用greeter并同时指定一个预先填充的参数getLine,这样我实际上不需要进行交互.我想象一个像功能的东西

IOwithinputs :: [String] -> IO() -> IO()
Run Code Online (Sandbox Code Playgroud)

那我就做

IOwithinputs ["Buddy"] greeter
Run Code Online (Sandbox Code Playgroud)

这将产生一个IO动作,不需要用户输入,看起来像:

What's your name?
Hi, Buddy
Run Code Online (Sandbox Code Playgroud)

我想这样做而不修改原始IO()功能greeter.我也不想greeter从命令行编译和管道输入.IOwithinputs在Hoogle中我没有看到任何类似的东西.(withArgs引人入胜地命名和命名,但根本不是我想要的.)有一个简单的方法吗?或者由于某种原因它是不可能的?这是Pipes的用途吗?

io haskell

6
推荐指数
1
解决办法
323
查看次数

putStr来自GHC,Mac OS X的编译二进制文件

有了这个文件:

main = do
  putStr "Input: "
  s <- getLine
  putStr s
Run Code Online (Sandbox Code Playgroud)

它在GHCi中执行我想要的操作,即提示然后允许输入与提示在同一行.如果我编译它并在终端中运行可执行文件,我将在输入之后才会看到提示.关于新线的一些事情.我使用的是Mac OS 10.8.5,GHC 7.4.2.

是否需要切换终端设置或GHC选项以从可执行文件中获取我想要的行为?

io executable haskell ghc

4
推荐指数
1
解决办法
133
查看次数

标签 统计

haskell ×3

io ×2

equality ×1

executable ×1

ghc ×1

literals ×1