2012-01-14 17 views
2

ここで定義したMathematicaのデバッグ目的でShowItのバリアントを使用するのはhttps://stackoverflow.com/a/8270643/884752です。私はrcollyerのアイデアをもう一度読んで、メッセージをいくつかの機能で使用して、ここでそれらをオンまたはオフにすることをhttps://stackoverflow.com/a/4211700/884752にしました。私はShowItのために同様のことをすることが可能かどうか尋ねていますが、私はそれを管理しませんでした。誰かが何か考えを持っていますか?私はあなたの意図を理解していれば感謝ShowItのデバッグ機能をオン/オフに切り替える

答えて

1

は:

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 
+0

ありがとうございました、これは私が欲しかったものです。元のShowItのように、デバッグメッセージの出力を入力形式に変換することはできません。これを回避する方法はありますか? – faysou

+0

@Fairal、私は分かりません。私は明日にしよう。 –

関連する問題