正如別處指出多次(如:1,2,...)在Haskell腳本可以說是相當強大的。
快捷方式也可以是ghc expression evaluation mode。這是我真正發現自己越來越多地使用(我真的很喜歡這個功能的紅寶石)。
一個小例子任務:
「找出所有包含頭部和某個特定的版本之間的git diff文件的文件夾」表達評估模式的腳本
git diff --stat 9e2b68 | ghc -e \
"getContents >>= return.(Data.List.nub).map(fst.break('/'==).head.words).lines"
這看起來有點笨重,可能是因爲我真的不知道細節使用ghc -e
。
鑑於所有有趣的部分只是nub.map(fst.break('/'==).head.words).lines
實際表達似乎有點羅嗦。
- 如何告訴ghc我需要使用的模塊,因此我不需要使用全名來限定它們?
- 我可以GHC拿起某種包含模塊,我經常使用的配置文件?
我真的很感激看到其他用例的一些例子,這將有助於我改進使用haskell這種小腳本的方式!
旁註:Commandline-foo嚮導可能會嘲笑這個,但我覺得使用haskell和bash腳本更舒服,所以這就是我想要使用的。
字符串→字符串函數我找到'interact'要少有點麻煩:'GHC -e 「互動$字符串FUNC>」'。這通常以'ghc -e'交互$ unlines結束。map( String func>)。lines「'。 –
Nefrubyr
由於兩個混帳和Haskell的粉絲,誰是沒有太大的「命令行 - 富嚮導」中,一篇博客文章中,你列出一大堆你的git相關哈斯克爾腳本的肯定是我感興趣的! – MatrixFrog
@MatrixFrog不限於Git的,但也許仍然吸引您:[腳本與GHCs評估模式(http://blog.coldflake.com/post/12412650749/scripting-with-ghcs-evaluation-mode) – oliver