Scheme(guile特に)でモジュールをインポートするには?モジュール(guile特に)をインポートするスキームの構文は何ですか?
モジュールを作成し、スキーム内の別のスクリプトにインポートするにはどうすればいいですか?モジュールをインポートするときにスクリプトをどのようにコンパイルすればよいですか?渡されるコマンドライン引数は何ですか?モジュールが別のディレクトリにある場合、そのモジュールをインポートする方法は?
Scheme(guile特に)でモジュールをインポートするには?モジュール(guile特に)をインポートするスキームの構文は何ですか?
モジュールを作成し、スキーム内の別のスクリプトにインポートするにはどうすればいいですか?モジュールをインポートするときにスクリプトをどのようにコンパイルすればよいですか?渡されるコマンドライン引数は何ですか?モジュールが別のディレクトリにある場合、そのモジュールをインポートする方法は?
我々は構文を使用してモジュールを作成しているここで、次のコードを持つモジュールtest_module.scmを作成し、その場所が/いくつかの/ディレクトリされ、
(define-module (test_module)
#: export (square
cube))
(define (square a)
(* a a))
(define (cube a)
(* a a a))
ます:
(define-module (name-of-the-module)
#: export (function1-to-be-exported
function2-to-be-exported))
;; rest of the code goes here for example: function1-to-be-exported
ここで作成したモジュールを、現在のディレクトリにあるこのコードを含むuse_module.scmという名前でインポートするスクリプトを作成できます。ここで
(use-modules (test_module))
(format #t "~a\n" (square 12))
我々は、構文を使用して、モジュールを使用しています
(use-modules (name-of-the-module))
;; now all the functions that were exported from the
;; module will be available here for our use
は今することができますコンパイル部分に来て、私たちは場所/いくつかの/ディレクトリにGUILE_LOAD_PATHを設定し、スクリプトをコンパイルする必要があり。モジュールは/いくつかの/ディレクトリに存在する場合
$ GUILE_LOAD_PATH=. guile use_module.scm
が、一般的には、次の操作を行います。
は今これを行う、その後、test_module.scmとuse_module.scmの両方が同じディレクトリにあることを前提としています:
$ GUILE_LOAD_PATH=/some/dir guile code.scm
psこれを行うより簡単な方法は、add-to-load-pathを使用して、モジュールの位置をguileに伝えるスクリプトを書くことです。環境変数を気にせずにコンパイルできるようになりました。
(add-to-load-path "/some/dir")
(use-modules (name-of-the-module))
;; rest of the code
https://www.gnu.org/software/guile/manual/html_node/Modules.html#Modules –
私はモジュールtest_module.scm(http://paste.lisp.org/display/を作成319117)とスクリプトuse_module.scm(http://paste.lisp.org/display/319118)。モジュールとスクリプトは同じディレクトリにあります。私はこのコマンド "guile use_module.scm"でスクリプトを実行しようとしました。私はこのエラーをhttp://paste.lisp.org/display/319119、私はすべてのスクリプトは、モジュールにアクセスすることはできません理解できる。助けてください。 –
私はIRCの人たちの助けを借りて、その仕組みを学びました。 –