問題タブ [read-eval-print-loop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
374 参照

python - Pylons REPLは、実行中のWebサーバーのコードを再評価します

私は既存のpylonsプロジェクト(okfnのckan)をPythonでプログラミングしていますが、私は商売をしている人であり、その方法に慣れています。

私が虚偽の陳述をした場合は私を訂正してください:

パイロンでは、私は言うべきだと思われます

$パスターサーブ--reload

変更に気付くWebサーバーを取得します。

その時点で、関数を変更し、ファイルを保存してから、ブラウザーに移動して変更をテストできます。

Webページを作成する過程で関数内の変数を調べたい場合は、raise "hello"を入力し、ページをロードすると、プログラムを調べることができるブラウザーベースのデバッガーを取得します。

これはすべて非常に素晴らしく、水泳で機能します。それが人々がパイロンコードを書く傾向があるという印象を受けます。

残念ながら、リロードには数秒かかり、それは私の思考の流れを壊し続けます。

私がやりたいのは、emacsからWebサーバーを実行することです(ただし、コマンドラインでのpython REPLもほぼ同じです)。これにより、エディターで関数を変更して、新しいコードをに送信できます。再起動せずにプロセスを実行します。(コマンドラインのreplを使用すると、新しいものをコピーして貼り付ける必要があると思いますが、それも実行可能であり、少し便利ではありません)

Pythonは非常に動的で、多くの点でlispによく似ているので、それが機能しない理由は原則としてわかりません。

だから私は質問が次のとおりだと思います:

誰かが物事を行うLispの方法とPylonsに精通していますか?彼らはPylonsでLispの方法をプログラムする方法を教えてもらえますか?それとも、それは不可能ですか、それとも何らかの理由で悪い考えですか?

編集:

次のコマンドを使用して、emacs内のPythonインタープリターからWebサーバーを実行できます。

そして、次のように挿入することで、コードを停止させ、コードが何をしているのかを表示できます。

したがって、必要なのは、Webサーバーを別のスレッドで実行する方法だけです。これにより、制御がREPLに戻り、実行中のプロセスで関数と変数を再定義できます。

REPLで関数を再定義した場合、変更がWebサーバーに反映されないことを除いて、これは機能しているようです。誰かが理由を知っていますか?

0 投票する
1 に答える
578 参照

scala - Scala REPL によって作成されたバイトコードにアクセスする

REPL によって生成されたバイトコード (つまり、REPL で入力して実行した Scala の行) にアクセスする方法はありますか?

リモートノードにクラスをロードするために必要です。

0 投票する
3 に答える
3091 参照

compiler-construction - REPL、インタプリタ、コンパイラの関係

ウィキペディアから:

REPL は一般的にインタープリターと誤って名付けられています。Common Lisp や Python など、コンパイル (バイトコード コンパイルを含む) を使用する多くのプログラミング言語には REPL があります。

この投稿への返信から

対話型インタープリターは REPL を使用します。通訳者は必須ではありません。たとえば、非対話モード (ファイルに対して) で Python を実行することができ、read-eval-print ループは使用されません。

REPL [del] は常に存在する [/del]はインタープリターに対してのみ存在するのでしょうか? ウィキペディアは、コンパイラにも REPL が存在すると言っていますか? はいの場合、それはどのようなものですか?

よろしくお願いします!

インタプリタとは、コンパイル直後に実行するものです。

0 投票する
3 に答える
364 参照

scala - getResourceAsStream() メソッドを呼び出すと、Scala REPL クラスローダーが「null」を返す

TheReplClassLoader.getResourceAsStream(someGeneratedClassName)Scala REPL がnull を返すのはなぜですか?

0 投票する
1 に答える
380 参照

sql - clojure.contrib.sqlとREPLの相互作用

jndiを使用してデータベースへの接続を作成するClojureWebアプリがあります。データベースをクエリするコードは次のようになります。

jndi構成は、jettyが起動されたときにjetty.xmlファイルからロードされます。ただし、REPLでは機能しないため、開発はやや非現実的です。

サーバーで実行されていないときに、jndiコンテキストが使用できないときに、db configがjetty.xmlではなくconfigファイルからロードされるようにコードを構造化する方法はありますか?

0 投票する
5 に答える
2680 参照

c# - C#動的コード評価、評価、REPL

実行時にc#コードを評価する方法があるかどうか誰かが知っていますか?例えば。ユーザーがDateTime.Now.AddDays(1)などを文字列として入力し、その文字列を評価して結果を取得できるようにしたいと思います。

動的に入力されたすべての行を評価しているように見えるので、即時ウィンドウ機能にアクセスできるかどうか疑問に思います。

VBにはVBA*.dllからの文書化されていないEbExecuteLine()API関数があることがわかり、c#に相当するものがあるかどうか疑問に思います。

また、カスタムツールhttps://github.com/DavidWynne/CSharpEval(以前はkamimucode.comにありましたが、作成者はGitHubに移動しました)を見つけましたが、次のようなものが望ましいです。 .NETの一部

ありがとう

0 投票する
3 に答える
457 参照

clojure - appengineマジック、ほぼ満足していますが、replでnullポインタを取得しています

dev_appserver.shでwebapp(appengine-magicとleinで作成)を動作させましたが、より多くの対話性が必要であり、サーバーの再起動が少ないため、replを使用することを好みます。問題は、アプリケーションを提供しようとした後(require '[appengine-magic.core :as ae])、次の例外が発生することです。(use 'myapp.core)(ae/serve myapp)

(in-ns'myapp.core)も試しましたが、同じ効果があります。Webアプリハンドラーをreplに直接貼り付けて提供すると、機能しますが、ファイルからは機能しません。

myappまたはmyapp-handlerを呼び出すと、明らかに「オブジェクト」が得られるので、実際には正しい名前空間にいる必要があります...

project.clj

core.cljは単純です。

0 投票する
4 に答える
2484 参照

haskell - Haskell の関数

私は関数型プログラミングが初めてです。基本的な質問があります。

私は Hugs インタープリターを使用しています。

Haskell で関数を書きたいと思います。いくつかのチュートリアルを実行しましたが、理解できません。

これにより、構文エラーが発生します:-S

0 投票する
3 に答える
2123 参照

language-agnostic - それらすべてをバインドする 1 つの REPL ?

言語固有ではないREPLがあるかどうか知りたいです。私は REPL (主に Clojure、Scala、Haskell 用) に出入りすることに多くの時間を費やしていますが、バンドルされているものは多かれ少なかれ私を苛立たせています。REPL の仕事は、次の点で非常に一般的なようです。

  • 読む: ユーザー入力を受け取る
  • 評価: 処理のために入力をランタイムに渡します
  • 印刷: 結果を画面に出力します
  • ループ: 次のユーザー入力を待ちます

なぜ言語にとらわれない REPL があってはならないのかわかりませんが、そのようなものを見つけることができませんでした。私の理想的な REPL で私が望むいくつかのこと:

  • Linux コマンドライン アプリケーション
  • 上矢印からアクセスできる無限の履歴
  • 再実行する前に以前のコマンドを編集する機能
  • bashのような履歴検索用のctrl-r
  • 1 つの REPL に複数のセッションがあるため、それらを簡単に切り替えることができます

そしてもっと楽観的に

  • 構文の強調表示、コンテキストに応じたコード補完

これは存在しますか?

0 投票する
7 に答える
10744 参照

lisp - LispはREPLを備えた唯一の言語ですか?

Lisp(ruby、scala)以外にも、REPL(Read、Eval、Print、Loop)を使用していると言う言語がありますが、REPLの意味がLispと同じかどうかは不明です。LispREPLは非LispREPLとどう違うのですか?