Код в пакете Mathematica ведет себя не так, как в блокноте - PullRequest
0 голосов
/ 22 марта 2020

Я писал пакет, используя стандартный подход:

Begin["Utilities`"] (* package name *)

myFunction::usage = ""

Begin["`Private`"]

(* definition of myFunction here *)

End[]

EndPackage[]

и заметил, что вызовы myFunction в записной книжке (после правильного импорта пакета) дают загадочные результаты. Копирование вставки определения функции в блокнот дает ожидаемый результат.

Это происходит как минимум для двух функций в пакете. Первый довольно прост:

IdenticallySampledQ[lists_]:=AllTrue[lists,XYListQ]&&(SameQ@@(getX/@lists))

, который пытается проверить, содержит ли списки список списков вида {{x1, y1}, ..., {xn, yn}}, таких, что все значения х всех списков идентичны. И XYListQ [], и getX [] определены в одном пакете, но в другом блоке Begin [] ... End [], но общедоступны в пакете.

Вторая функция, для которой неожиданно Поведение происходит - это функция, которая возвращает два графика: каким-то образом второй возвращаемый график никогда не содержит данных в кадре, а первый -.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...