HaskellのGHCiでファイルに書いたプログラムをロードする方法
Haskellのプログラムをファイルに書いて、インタープリター(GHCi)で読み込み、実行する方法のメモ。
スクリプトファイルの用意
まず、Haskellのコードを書いたファイルを用意します。
フォルダを用意する
Windowsの場合、ユーザーのホームディレクトリに「haskell」等というフォルダを作ります。
ファイルを作成する
この「haskell」フォルダの中に、「test01.hs」というファイルを作成します。
サンプルコードを書く
「test01.hs」をエディターで開いて、次の2行を書き込み、保存します。
GHCiで実行する
用意したHaskellのプログラムを実行してみます。
GHCiを起動する
コマンドプロンプトを起動して、「ghci」とコマンドを入力します。
外部ファイルからプログラムを読み込む
とコマンドを入力します。
「:l」は、ファイルを読み込む「:load」というコマンドの省略形です。
(参考)
https://ghcguide.haskell.jp/users_guide/ghci.html#loading-source-files
5.2. ソースファイルをロードする
HaskellのソースファイルをGHCiにロードするには :load コマンドを使います.
(ヒント: load は :l に短縮できます)
https://ghcguide.haskell.jp/users_guide/ghci.html#ghci-cmd-:load
:load[!] [*]⟨module⟩
指定した ⟨module⟩ および,それが依存するすべてのモジュールを再帰的にロードします.
個々の ⟨module⟩ はモジュール名またはファイル名でなければならない.
また,パッケージ内のモジュールの名前を指定することはできません.
- ファイルの場所(フォルダ)
- ファイル名
- ファイル内のプログラムの記述
に誤りがなければ、以下のようなメッセージが表示されます。
サンプルコードの実行
試しに、10と20の平均値を求めてみます。
とコマンドを入力してみます。
ghci> avg 10 20
15.0
15(15.0)という答が返って来たら、テストは成功です!!!
GHCiでカレントディレクトリを移動する
Google検索したら、フォルダにあるファイルをロードする(読み込む)別の方法も紹介されていました。
(参考)
カレントディレクトリ以外の場所に保存した場合、GHCiでディレクトリを正しく変更する必要がある。
Prelude> :cd dir
「:cd」というコマンドで、ディレクトリを移動して、それからファイルをロードすることも可能でした。
まとめ
Haskellのプログラム(スクリプト)は、外部ファイルに保存できる。
Haskellのインタプリタ―(GHCi)で、外部ファイルからプログラムを読み込んで実行できる。
どちらの方法でもOK
練習用のテストコードをたくさん作ると、ゴチャゴチャして後で分かりづらくなりそうなので、フォルダやファイルを用意して分類しておきたいです。
- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (73件) を見る