80

Haskell ファイルを解釈できると言われました (これは、Ruby/Python/Perl のように動作することを意味すると思います)。ただし、これを行うためのGHCのコマンドラインオプションが見つかりません。それは常に私のファイルをコンパイルしたいと思っています。GHCi も調べてみましたが、いつも repl に落ちてしまいます。

私は基本的にghc -i MyFile.hs、アイデアを試したり学習したりしている間に迅速なフィードバックを得ることができるように (-i は、解釈されたモードに相関するふりをしている作成されたフラグです)、それを実行したいと考えています。

4

4 に答える 4

134
$ runhaskell MyFile.hs

あるいは、runghc(それらは同じものです)。ghci MyFile.hsロード済みの対話型 REPL セッションも開始しMyFile.hsますが、メイン プログラムを実行したい場合runhaskellは、この方法をお勧めします。

プログラム全体を毎回実行するのではなく、GHCi で個別のユニットとしてプログラムの一部をテストする習慣を身に付けるのはおそらく良い考えですが、明らかに短いスクリプトの場合は、全体を実行するのが最も簡単で簡単です。

于 2011-12-30T05:11:05.620 に答える
41

次のようなスクリプトを作成できます。

#!/usr/bin/env runhaskell
main = putStrLn "hello world"

ファイルを実行可能 (つまりchmod +x haskell_script) にすると、他のシェル スクリプトと同じように実行できます。

于 2011-12-30T05:15:31.967 に答える
11

ターミナルで実行して GHC インタープリターを開き、次のghciように入力してファイルをロードします:load example.hs。詳細については、このリンクを参照してください。

于 2011-12-30T05:09:11.190 に答える
1

myfile.txtGHC インタプリタで動作する単純なコード行を含む、ファイルに記述されたコードを実行するには、次のようにします。

let a = 0 in a:[1,2]
let x = [1,2] in x ++ [3,4]

できるよ:

ghc -e ':script myfile.txt'

編集

Windows では、二重引用符が必要です。

ghc -e ":script myfile.txt"

代わりに、開いGHCiて実行することもできます:script myfile.txt

于 2016-07-19T11:56:33.123 に答える