4

http://en.wikipedia.org/wiki/REPL読む–eval–print_loop

Delphiにそのようなものはありますか?ほとんど文書化されていない境界ケースを扱う場合、Windows APi などの DLL を調査し、それらの使用法をスケッチすることはむしろ有用です。

Cnwizards にあるようなパスカル スクリプトを試しましたが、あまり快適ではありません。たとえば、Windows.pas のようなユニットを使用することはできず、独自の奇妙なスタブを作成する必要がありました。

とにかく、これらのスクリプトは、Repl よりも「これを試してみる」というシナリオでは使いにくいです。

Delphi オブジェクトの場合、ほとんどの場合、ブレークポイントで一時停止し、評価/変更ウィンドウを使用しますが、DLL ではなく Delphi オブジェクトでのみ機能します。値などをキャッシュする一時変数を作成することはできません。

4

1 に答える 1

3

Delphi は静的に型付けされ、コンパイルされた言語であるため、実際には探しているものではありませんが、パスカルを入力して何かを実行できるかどうかを確認したい場合はTJvInterpreter、Jedi に付属のコンポーネントを試すことができます。 VCL。

このエクスペリエンスは、Python を使用する場合とまったく同じではないことに注意してください。「uses module」と入力してEnterキーを押すことはできません。パスカルユニットは、JvInterpreterによって解釈される前に完全である必要があり、JvInterpreterでは、インポートする他のすべてのユニットのラッパーを作成する必要があるためです。あなたは夢中になるでしょう。を中心に REPL を構築するように誰かに真剣にアドバイスしているわけではありませんTJvInterpreter

Delphi の「インタラクティブ マジック」要素は「デザインタイム環境」と呼ばれ、「コンポーネント」を使用して構築する方法です。私たちはコードを書くことでそのようなことをすることさえあまりなく、すべてマウスとキーボードを使って視覚的に行います。これは RAD (迅速なアプリケーション開発) と呼ばれ、Delphi の VCL (ビジュアル コンポーネント ライブラリ) を利用しており、(REPL のように) 非常に迅速な開発を行う多くの方法の 1 つです。

REPL によく似たもう 1 つの機能は、Delphi の次のボタンです。

ここに画像の説明を入力

新しい空のプロジェクトを作成した後にクリックすると、新しい空のプロジェクトに追加したコードが何であれ、1 秒もかからずにビルドされて実行されます。私にとってREPLに十分近い。これは、バイナリ実行可能なインスタント至福のようなものです。

1行書きます。ビルドして実行します (1 秒)。インスタント。

于 2012-08-03T20:41:43.653 に答える