8

在 ghci 中使用 hoogle 时如何使用 hoogle 命令行标志?

这显然不起作用:

ghci> :hoogle --count=5 Char -> Int
Could not read as type Int, "5 Char -> Int"
4

1 回答 1

7

您需要更改您的 ghci.conf 才能执行此操作。假设您执行了haskell.org 上描述的步骤,您的 ghci.conf 包含如下行

:def hoogle \x -> return $ ":!hoogle \"" ++ x ++ "\""

但是,该行表示:hoogle x将被转换为hoogle "x",如果您想应用其他标志(例如--count=5.

您要么需要删除参数周围的引号,例如

:def hoogleP \x -> return $ ":!hoogle " ++ x

并手动使用:hoogleP --count=5 "Char -> Int"或拆分参数为计数和搜索查询:

:def hoogleC \x -> return $ ":!hoogle --count="++(head.words $x)++" \"" ++ (unwords.tail.words $x) ++ "\""

最后一个版本可以用作:hoogleC 5 Char -> Int.

于 2014-02-09T14:21:54.700 回答