2016-09-28 2 views
1

私はOS 10.11.6のMacで、Sage 7.2のノートブックインタフェースを使用しています。私はSageをチェックしたいMathematicaのことをしましたが、私はSageの初心者です。 Mathematicaでは、Mathematica Dynamic []コマンドを使用して、コードの実行を追跡することができます。特に、コードが掛かっているときに検出することができます。 Sageにはこのコマンドのようなものがありますか?それとも、ハングアップするかどうかをリアルタイムで知ることができる長時間の計算の実行状況を追跡する別の方法がありますか?現時点では、コード内に印刷コマンドを挿入して、何千ものタプルの値のタプルの変数が画面の下に縦方向にストリーミングされます。メッシー。私はむしろ、例えばデジタル時計のように、そのようなタプルの値が単に更新されるのを見たいと思っています。これはMathematicaでDynamic []が達成したものです。リアルタイムでコードの実行を追跡するSageコマンドがありますか?

答えて

0

まあ、Mathematicaにはデバッガがありません。だから彼らはDynamic[]コマンドを導入することでこの障害を克服しようとしました。しかし、プログラミング言語にデバッガがある場合、なぜDynamicに似たものを実装するのが嫌なのですか?

例えば、セージコードをデバッグするいくつかの方法があります。たとえば、you can refer to this other postです。また、組み込みコマンドtraceがあります。これはMathematicaのDynamicと非常によく似た働きをします。

詳細についてはthis (seemingly old) postを参照することもできます。

+0

"なぜ動的に類似したものを実装するのは難しいのですか?"私の場合、私は頻繁に実行に時間がかかるプログラムを実行します。コードの実行の進行状況をリアルタイムで確認する必要があるので、いつハングするかを知ることができます。さもなければ、私は実行を中断するまでどれくらい待つべきか分からない。私は数学者です。つまり、プログラマではなく、エンドユーザです。私はデバッガが私のためにこれを行うかどうかわかりません。それは? –

+0

プログラムが実際にクラッシュした後、トレースは私に知らせるように見えます。しかし、しばしば私がしていることでは、プログラムは、クラッシュすることなく、パラメータの特定の値で大幅に減速します。トレースはそれについて私に教えてくれませんか? –

+0

ところで、私にとってはSage対Mathematicaコンテストではありません。基本的な点検として、私は提出された仕事を(第1のプラットフォームで元々行われていた)第2のプラットフォームで複製できる必要があります。私は両方で働くことができるようにしたいと思います。 –

関連する問題