Как использовать модуль внутри модуля?
У меня есть этот простой модуль:
REBOL[
Name: 'test1
Type: 'module
Exports: [foo]
]
foo: does [print "foo"]
и этот:
REBOL[
Name: 'test2
Type: 'module
Exports: [bar]
]
import %test1.reb
foo
bar: does [foo]
Когда я пытаюсь сделать import %test2.reb
, Я получил foo word is not bound to a context
ошибка. После этой ошибки я могу позвонить foo
с консоли, поэтому он был импортирован, но как-то невидим test2
модуль. Итак, как правильно использовать модуль внутри модуля?
2 ответа
Я не уверен, если это ошибка в С использованием IMPORT
, тем не мениеNEEDS
заголовок должен работать:
Rebol [
Name: 'test2
Type: 'module
Exports: [bar]
Needs: [%test1.reb]
]
foo
bar: does [foo]
Вы можете задать слово для возврата импорта
REBOL[
Name: 'test2
Type: 'module
Exports: [bar]
]
t1: import %test1.reb
t1/foo
bar: does [t1/foo]
РЕДАКТИРОВАТЬ:
Я пытался использовать 'do, и это сработало, но теперь я не могу воспроизвести его. Так что, возможно, что-то еще происходит, или я забыл закрыть консоль перед повторной попыткой.