Включение и выключение функции отладки ShowIt - PullRequest
2 голосов
/ 15 января 2012

Мне нравится использовать вариант ShowIt для целей отладки в Mathematica, определенный здесь https://stackoverflow.com/a/8270643/884752. Я снова читал идею rcollyer использовать сообщения для некоторых функций, чтобы включать или выключать их здесь https://stackoverflow.com/a/4211700/884752. И я спрашиваю себя, можно ли сделать что-то подобное для ShowIt, но мне не удалось.У кого-нибудь есть идеи?Спасибо

1 Ответ

1 голос
/ 15 января 2012

Если я понимаю ваше намерение:

debug::ShowIt = "`1`";
SetAttributes[System`ShowIt, HoldAll];
System`ShowIt[code__] := System`ShowIt[{code}];
System`ShowIt[code_] :=
  With[{y = code},
    Message[debug::ShowIt, HoldForm[code = y]];
    y
  ];
In[5]:= ShowIt[2 + 2]

During evaluation of In[5]:= debug::ShowIt: 2 + 2 = 4

Out[5]= 4

In[6]:= Off[debug::ShowIt]
        ShowIt[2 + 2]

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