9

Haskell の学習を始めたばかりで、Haskell プログラムの「フロー」を理解するのに苦労しています。

たとえば Python では、スクリプトを記述し、それをインタープリターにロードして結果を確認できます。

def cube(x):
    return x*x*x

print cube(1)
print cube(2)
print cube(cube(5))
# etc... 

Haskellでは、これを行うことができます:

cube x = x*x*x
main = print (cube 5)

でロードするとrunhaskell、印刷されます125
またはghci、テストしたいすべての関数を使用して手動で入力することもできます

しかし、私が望むのは、テキスト エディターを使用して、いくつかの関数といくつかのテストを記述し、Haskell にいくつかの結果を出力させることです。

-- Compile this part
cube x = x*x*x

-- evaluate this part:
cube 1
cube 2
cube (cube 3)
--etc.. 

このようなことは可能ですか?

4

3 に答える 3

13

非常に可能です!

$ ghci
> :l filename.hs

これでファイルがロードされ、関数を直接使用できるようになります。

> :r

これにより、編集後にファイルが再ロードされます。ファイルについて言及する必要はありません。最後にロードしたファイルが何であれ、リロードされます。ghci filename.hsこれは、 の代わりに最初に行う場合にも機能します:l

于 2013-03-18T17:08:51.567 に答える
8
cube x = x*x*x

main = do
    print $ cube 1
    print $ cube 2
    print $ cube (cube 3)
$ ghci cube.hs
...
ghci> main

GHCI ユーザー ガイドを参照してください。


また、 QuickCheckライブラリを確認することを強くお勧めします。

それを使用すると、テストがいかに素晴らしいものになるかに驚かれることでしょう。

于 2013-03-18T17:06:01.773 に答える
4

Haskell ソース ファイルを GHCi にロードするには、次の:loadコマンドを使用します。

cf Haskell ドキュメントでのソース ファイルのロード

于 2013-03-18T17:08:53.160 に答える