仮想計算機構

IT業界と無縁な派遣社員のブログ

Schemeのモジュールを使ってみる

グラフィックスの話はいったんお休みにして、モジュールとやらを試してみます。

#| test_module.scm |#
(define-module test_module
    (export hello)
    (define (hello)
        (print "hello")
    )
)

helloと表示する関数を定義しただけの面白くもなんともないモジュールですが、とりあえず以下のコードを動かしてみます。

#| main.scm |#
(use test_module)
(hello)

実行結果は次の通りです。

> gosh .\main.scm
hello

はい、というわけで、test_module.scmで定義した関数を問題なく使えてます。完。

ちなみにtest_module.scmですが、main.scmと同じディレクトリに置くのではなく、(scheme-site-library-directory)によって得られるディレクトリに保存しました。このあたりの情報もリファレンス*1を参考にしています。リファレンス様様です。

また、test_module.scmを↑のディレクトリに保存する際に管理者権限が必要でした。筆者はpowershellを使っていますので、こういった場合は「Start-Process powershell -Verb runas」なる呪文*2 に頼ればよいらしいです。そんなこともわからずにpowershellを使ってて大丈夫なのかという気もしますが、このあたりも追々学んでいきたいところです。

 

参考文献