3

これは、 Haskell 関数内の変数の定義で尋ねられた質問の再構成です。

先頭が次のような関数があります。

recursiveLs :: FilePath -> IO [FilePath]
recursiveLs dir =
   do
       folderExists <- doesDirectoryExist dir
       if folderExists
          then ...

folderExists問題は、アクションで型を割り当てる前に、型を明示的に宣言するにはどうすればよいかということです。

4

1 に答える 1

7

さて、あなたがやりたいことをやってみましょうghci

> (a :: Integer) <- return 10

<interactive>:2:7:
    Illegal type signature: `Integer'
      Perhaps you intended to use -XScopedTypeVariables
    In a pattern type-signature

したがって、そのプラグマを有効にする必要があります。

> :set -XScopedTypeVariables

そしてさらに試みる

> (a :: Integer) <- return 10
a :: Integer

これで、次のaようになります。10Integer

> a
10
it :: Integer

また、関数で忘れていると思いますが=recursiveLs次のようなものがあるはずですrecursiveLs dir = do ...

于 2013-05-14T17:24:19.083 に答える