Я пытаюсь require
один файл в другом при работе с Racket.У меня есть два файла в одной папке.Это world.rkt
и ant.rkt
.
world.rkt
:
(module world racket
(provide gen-grid gen-cell)
(define (gen-cell item fill)
(cons item fill))
(define (gen-grid x y fill)
(begin
(define (gen-row x fill)
(cond ((> x 0) (cons (gen-cell (quote none) fill)
(gen-row (- x 1) fill)))
((<= x 0) (quote ()) )))
(cond ((> y 0) (cons (gen-row x fill)
(gen-grid x (- y 1) fill)))
((<= y 0) (quote ()) )))))
ant.rkt
:
(module ant racket
(require "world.rkt")
(define (insert-ant grid x y)
(cond ((> y 0) (insert-ant (cdr grid) x (- y 1)))
((< y 0) 'Error)
((= y 0) (begin
(define y-line (car grid))
(define (get-x line x)
(cond ((> x 0) (get-x (cdr line) (- x 1)))
((< x 0) 'Error)
(= x 0) (gen-cell 'ant (cdr (car line))) ))
(get-x y-line x))))))
Теперь я могу набрать (require "ant.rkt")
в REPL, а затем, когда я набираю (gen-cell 'none 'white)
, я получаю сообщение об ошибке:
reference to undefined identifier: gen-cell
Я просмотрел документацию по импорту и экспорту, но не могу правильно ее импортировать.Я чувствую, что это что-то действительно простое, чего я просто не понимаю в синтаксисе.
Как мне изменить свой код, чтобы я мог использовать gen-grid
и gen-cell
в ant.rkt
?