Я хочу скрыть все выходные данные, созданные командой Print, из пользовательской функции, определенной в module .m
.
Точнее проблема заключается в следующем:
У меня есть модуль, который решает какую-то конкретную задачу (не обязательно знать задачу для понимания вопроса). Я использую команду Print внутри модуля для вывода процесса оценки. Это полезно для отладки, но не для использования (весь внутренний вывод должен быть скрыт, когда пользователь вызывает функцию, объявленную в модуле).
Итак, в каждой стабильной версии модуля я должен размещать комментарии (* *
) и удалять их для привязки. Я полагаю, что этот путь нецивилизован, и у Mathematica должен быть обычный способ скрыть внутренние результаты.
Например, у нас есть 3 файла в одном каталоге. Можете ли вы предложить мне простой способ, как скрыть все выходные данные по умолчанию и распечатать все выходные данные в режиме отладки?
modul.m
:
f[x_]:=Module[{y}, y=Cos[x]*Sin[x];
Print["modul.m: y=",y];
Return[y]];
debugging.nb
:
SetDirectory[NotebookDirectory[]];
<< modul.m;
x=10;
f[x] (* print all inner output generated while f is evaluating*)
x=20;
f[x](* print all inner output generated while f is evaluating*)
application.nb
:
<< modul.m
y=f[10]+f[20];
(* Hide all outputs of f during evaluation. Command ; doesn't work for this issue. *)