Lets in ihm und seiner Lage zu sein /some/dir,
(define-module (test_module)
#: export (square
cube))
(define (square a)
(* a a))
(define (cube a)
(* a a a))
Hier haben wir ein Modul, ein Modul test_module.scm mit dem folgenden Code erstellen mit der Syntax erstellt:
(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
Jetzt erstellen wir ein Skript, das das von uns erstellte Modul namens use_module.scm mit diesem Code in das aktuelle Verzeichnis importiert.
(use-modules (test_module))
(format #t "~a\n" (square 12))
Hier haben wir Modul mit der Syntax verwendet:
(use-modules (name-of-the-module))
;; now all the functions that were exported from the
;; module will be available here for our use
nun zum Kompilieren Teil kommen lässt, haben wir GUILE_LOAD_PATH an den Ort /some/dir und kompilieren das Skript zu setzen .
können nun davon ausgehen, dass beide test_module.scm und use_module.scm im selben Verzeichnis befinden, dann tun:
$ GUILE_LOAD_PATH=. guile use_module.scm
aber in der Regel dies tun, wenn das Modul in vorhanden ist/some/dir:
$ GUILE_LOAD_PATH=/some/dir guile code.scm
ps Der einfachste Weg wäre, das Skript zu schreiben, das add-to-load-path verwendet, um den Speicherort des Moduls zu bestimmen. Jetzt können wir kompilieren, ohne uns um die Umgebungsvariablen kümmern zu müssen.
(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 –
ich ein Modul test_module.scm erstellt (http://paste.lisp.org/display/ 319117) und ein Skript use_module.scm (http://paste.lisp.org/display/319118). Das Modul und das Skript befinden sich im selben Verzeichnis. Ich habe versucht, das Skript mit dem Befehl "guile use_module.scm" auszuführen. Ich bekomme diesen Fehler http://paste.lisp.org/display/319119, für alle kann ich verstehen, dass das Skript nicht auf das Modul zugreifen kann. Bitte helfen Sie. –
Nun, ich bekam Hilfe von den Jungs vom IRC und ich lernte, wie es gemacht wurde. –