悲しみ…
こういうファイル test-simple.lisp
と:
;; -*- coding: utf-8; -*- ;; test-simple.lisp (provide 'test.simple) (defpackage :test (:use :cl)) (in-package :test) (defpackage :test.simple (:use :cl) (:export tests ok)) (in-package :test.simple) (defvar *test-amount* 1) (defun tests (n) (setq *test-amount* 1) (format t "1..~A~%" n)) (defun ok (expression &optional comment) (unless comment (setq comment "")) (if expression (format t "ok ~A ~A~%" *test-amount* comment) ;; else (format t "not ok ~A ~A~%" *test-amount* comment)) (setq *test-amount* (+ 1 *test-amount*)))
それを使うファイル demo-test-simple.lisp
:
(require :test-simple) ;; テストの数を宣言します。 (tests 1) (let ((foo 32) (bar 32)) ;; テストを行い、ok または not ok を出力します。 (ok (equal foo bar) "foo is bar"))
を同じディレクトリに置いて:
% clisp ./demo-test-simple.lisp
と打つと:
*** - LOAD: A file with name TEST-SIMPLE does not exist
というエラーが出る。
(require "test-simple")
という風に文字列にすると require
できる。
しかし、今度は:
*** - EVAL: undefined function TESTS
というエラーが出る。
tests
と ok
の前に test.simple::
をつけると大丈夫。
δ(・ω・`)ウーン…
やっぱり Clojure から始めたのがいけなかったのかも……。
(」・ω・)」 なんで名前空間が package なんだよおおーーーーーーー!!!!!!!!