3

主題を正しく表現したかどうかはわかりませんが、基本的に誰かが Python IDLE または同様のツールでコードを開発し、コマンドを使用してメモリ内の現在のコードを吐き出すことができるかどうかに興味があります。以前、Lisp の本を読んだときにこれを行ったと思いますが、通常の静的ファイルの再実行とは非常に異なるアプローチであったことを思い出してください。これを行う方法または同様の方法に関する提案はありますか? ありがとう

更新別のエディター (eclipse/pydev) でコードを編集しながら、execfile コマンドと reload コマンドを使用して IDLE の組み合わせを使用することになりました。「メイン」ファイルを変更して、execfile が呼び出されたときにすぐに何も実行されないようにしました。メイン ファイルのコードとインポートされたモジュールは現在のスコープ/スタックに読み込まれるため、新しいコードを書いているときやエラーが発生したときに、IDLE コマンド ラインで直接テストできます。問題または解決策を見つけたら、エディターでコードを更新し、更新されたモジュールに対して reload(module) を実行してから、メイン ファイルで execfile(path) を実行します。

4

1 に答える 1

5

これが LISP で理にかなっている理由は、すべての LISP プログラムが単なるマクロと関数の集まりであり、s 式を適切な表現に自動的にフォーマットできるためです。

これは、より複雑な構文 (重要な空白、デコレータ、多数の制御構造、さまざまな種類の文字列リテラルなど) とよりセマンティックな要素 (クラス、関数、トップレベル コード、 ...) したがって、このアプローチはここではうまく機能しません。結果として得られるコードは、最小のプロジェクトでさえ非常に厄介になり、結果として得られるコードは依然として多くの「後処理」を必要とし、開発速度の利点をいくらか消滅させます。

代わりに、優れたテキスト エディターでコードを記述し、

  • 組み込み機能を使用して REPL と統合します (EMACS と Vim はこの種のものを適切にサポートしています)。
  • を使用して REPL にロードしますexecfile。これにより、快適なテキスト編集とプロンプトの対話性が得られます。
  • プログラムとともに、一連の単体テストを作成します。これは重要なソフトウェアに推奨され、コードのテストを自動化するため、関数が正しく機能するかどうかを手動で確認する対話型プロンプトに費やす時間を短縮できます。

コード評価と本格的なデバッグをサポートする、より完全な機能を備えた IDE を入手することもできます (sr2222 のおかげで、ここでは PyDev が例になります)。

于 2012-04-05T15:27:16.213 に答える