通過教程等在ghci - 迄今如此好。我完全錯過了一些東西:我的函數構建了一個IO [FilePath]
「事物」。在ghci中它出來是這樣的:Haskell:沒有得到這與IO [FilePath]
["xml","velocity.log.1","velocity.log"]
(截斷簡潔列表)
我看到這個函數是做我想要的。下一步是我想「自己打印」。
沒有我讓我打印結果。我不想在Haskell中延續我的Java/C#/ Python習慣 - 沒有意義。我相信Haskell有不同的做法,但我不明白如何從這個函數中獲得(有限的)值。
module Main (
main
) where
import RecursiveContents
main = do putStrLn "this"
getRecursiveContents "/home/xyz/myDir"
This works。但是如果我想主要打印getRecursiveContents "/home/xyz/myDir"
的結果呢?
在ghci中,我只需鍵入/粘貼getRecursiveContents "/home/xyz/myDir"
,並且東西被噴出 - 我必須自己打印什麼?
如果我做的:在ghci中
let xyz = getRecursiveContents "/home/xyz/myDir"
,我可以xyz
唯一能做的就是類型: xyz <enter>
和看到的結果。
我不能做頭部,尾巴等等。我知道IO [FilePath]
是一些特別的東西,不像數組或列表[a]
- 但我沒有做的是幫助我理解這個過去。
我一定會錯過一些東西 - 我在Learn You a Haskell或Real World Haskell中找不到。我不是在正確的地方嬉戲嗎?
讚賞任何反饋或塗料板。
感謝您的快速回復 - 我錯過了所有重要的「< - 」 – user192127 2011-05-15 04:24:05