問題タブ [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.
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サーバーに反映されないことを除いて、これは機能しているようです。誰かが理由を知っていますか?
scala - Scala REPL によって作成されたバイトコードにアクセスする
REPL によって生成されたバイトコード (つまり、REPL で入力して実行した Scala の行) にアクセスする方法はありますか?
リモートノードにクラスをロードするために必要です。
compiler-construction - REPL、インタプリタ、コンパイラの関係
ウィキペディアから:
REPL は一般的にインタープリターと誤って名付けられています。Common Lisp や Python など、コンパイル (バイトコード コンパイルを含む) を使用する多くのプログラミング言語には REPL があります。
この投稿への返信から
対話型インタープリターは REPL を使用します。通訳者は必須ではありません。たとえば、非対話モード (ファイルに対して) で Python を実行することができ、read-eval-print ループは使用されません。
REPL [del] は常に存在する [/del]はインタープリターに対してのみ存在するのでしょうか? ウィキペディアは、コンパイラにも REPL が存在すると言っていますか? はいの場合、それはどのようなものですか?
よろしくお願いします!
インタプリタとは、コンパイル直後に実行するものです。
scala - getResourceAsStream() メソッドを呼び出すと、Scala REPL クラスローダーが「null」を返す
TheReplClassLoader.getResourceAsStream(someGeneratedClassName)
Scala REPL がnull を返すのはなぜですか?
sql - clojure.contrib.sqlとREPLの相互作用
jndiを使用してデータベースへの接続を作成するClojureWebアプリがあります。データベースをクエリするコードは次のようになります。
jndi構成は、jettyが起動されたときにjetty.xmlファイルからロードされます。ただし、REPLでは機能しないため、開発はやや非現実的です。
サーバーで実行されていないときに、jndiコンテキストが使用できないときに、db configがjetty.xmlではなくconfigファイルからロードされるようにコードを構造化する方法はありますか?
c# - C#動的コード評価、評価、REPL
実行時にc#コードを評価する方法があるかどうか誰かが知っていますか?例えば。ユーザーがDateTime.Now.AddDays(1)などを文字列として入力し、その文字列を評価して結果を取得できるようにしたいと思います。
動的に入力されたすべての行を評価しているように見えるので、即時ウィンドウ機能にアクセスできるかどうか疑問に思います。
VBにはVBA*.dllからの文書化されていないEbExecuteLine()API関数があることがわかり、c#に相当するものがあるかどうか疑問に思います。
また、カスタムツールhttps://github.com/DavidWynne/CSharpEval(以前はkamimucode.comにありましたが、作成者はGitHubに移動しました)を見つけましたが、次のようなものが望ましいです。 .NETの一部
ありがとう
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は単純です。
haskell - Haskell の関数
私は関数型プログラミングが初めてです。基本的な質問があります。
私は Hugs インタープリターを使用しています。
Haskell で関数を書きたいと思います。いくつかのチュートリアルを実行しましたが、理解できません。
これにより、構文エラーが発生します:-S
language-agnostic - それらすべてをバインドする 1 つの REPL ?
言語固有ではないREPLがあるかどうか知りたいです。私は REPL (主に Clojure、Scala、Haskell 用) に出入りすることに多くの時間を費やしていますが、バンドルされているものは多かれ少なかれ私を苛立たせています。REPL の仕事は、次の点で非常に一般的なようです。
- 読む: ユーザー入力を受け取る
- 評価: 処理のために入力をランタイムに渡します
- 印刷: 結果を画面に出力します
- ループ: 次のユーザー入力を待ちます
なぜ言語にとらわれない REPL があってはならないのかわかりませんが、そのようなものを見つけることができませんでした。私の理想的な REPL で私が望むいくつかのこと:
- Linux コマンドライン アプリケーション
- 上矢印からアクセスできる無限の履歴
- 再実行する前に以前のコマンドを編集する機能
- bashのような履歴検索用のctrl-r
- 1 つの REPL に複数のセッションがあるため、それらを簡単に切り替えることができます
そしてもっと楽観的に
- 構文の強調表示、コンテキストに応じたコード補完
これは存在しますか?
lisp - LispはREPLを備えた唯一の言語ですか?
Lisp(ruby、scala)以外にも、REPL(Read、Eval、Print、Loop)を使用していると言う言語がありますが、REPLの意味がLispと同じかどうかは不明です。LispREPLは非LispREPLとどう違うのですか?