Задний план
Я использую схему куриной реализации. Последняя версия (4.9.0.1).
Я пытаюсь реализовать общую арифметическую систему для рациональных, сложных чисел и чисел с фиксированной точностью в файле с именем arithmetic.scm
.
Но для комплексных чисел, поскольку я также разработал общую арифметическую систему как для прямоугольных, так и для полярных представлений, я решил написать код для комплексных чисел в файле с именем complex.scm
.
Проблема
Поэтому, когда я пытаюсь загрузить complex.scm
в файл arithmetic.scm
, я обнаружил, что некоторые функции имеют одно и то же имя в обоих файлах, поэтому я хочу использовать лямбду, чтобы обернуть первую в подсреду и зарегистрировать операторы оттуда, используя список свойств . Однако команда load
может загрузить сценарий только в глобальную среду, независимо от того, где он написан. Интересно, кроме переименования функций или копирования всего кода из complex.scm
в лямбда-функцию, какие еще варианты у меня есть. Большое спасибо!
complex.scm
, вы должны сделать модулиcomplex.scm
иarithmetic.scm
, экспортировать все, что хотите, изcomplex
и импортироватьcomplex
внутрьarithmetic
. Вы можете переименовывать идентификаторы при импорте. - person Chris Jester-Young   schedule 20.11.2014