問題タブ [chicken-scheme]
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.
scheme - Chicken Scheme で実行中にプログラム コードを変更する
Chicken Scheme Interpreter であるcsiによって解釈されている間にプログラム コードを更新することは可能ですか? もしそうなら、どのように?
コードの一部をインタラクティブに変更し、その変更の効果をすぐに確認できるようにします。たとえば、次のプログラムを作成したとします。
(仮定すると(rest 1)
、プログラムを 1 秒間一時停止する効果があります)。
このプログラムをcsiで実行すると、文字列 "Ciao" が毎秒出力されます。文字列 "Ciao" を "else" などの別のものに変更し、プログラム コード ファイルを保存すると、csiは古いプログラム コードの解釈を続行するため、文字列 "Ciao" が引き続き表示されます。この場合、文字列 "Ciao" を "else" に置き換えて変更したコードを保存すると、csiは古いファイルではなく、変更されたファイルを調べて解釈作業を続行するようにしてください。出力として「Ciao」とそれに続く「else」を取得するため、ソース コードで「Ciao」を「else」に置き換えると、「else」が表示され始めます。
scheme - 外部ファイルからプロシージャをロードするときのバインドされていない変数エラー
ソースから構築された Cloud9 がホストするワークスペースで Chicken Scheme 4.9.0.1 を使用しています。
私はこれを試していました(私は主にPythonでコードを書いているので、奇妙な括弧の構文についてお詫びします):
指数は次のとおりです。
しかし、それは私に次のエラーを与えます:
私は別のスキームの実装(biwascheme、オンラインREPLを使用)で同じ手順を試しましたが、うまくいきました。別のファイルからロードせずに、作業中のファイルにコードを直接追加すると、機能します。
別のファイルからロードした場合にのみ、バインドされていない変数エラーが発生するのはなぜですか?
scheme - Chicken Scheme のジェネレータ
このコードは、codepad.orgで提供されている Racket スキームで機能し、「unexpected return」というメッセージを表示する前に、連続する行に 1、2、および 3 の数字を表示しますが、ideone.comでChicken スキームを使用すると、まったく同じコードが失敗します。 Chicken Scheme が提供するエラー メッセージを理解できません。Chicken Schemeで動作させるにはどうすればよいですか?
scheme - チキンスキームの複素数
チキンスキームでは、デフォルトで (つまり、数字の卵などの拡張機能をロードせずに) real-part
、imag-part
、angle
、の手順が定義されているのに、magnitude
とcomplex?
がないmake-rectangular
のはmake-polar
なぜですか? 複素数を作成できない場合、どうすればよいですか?
loops - スキームに対する順次 Do (do*)
Common Lisp には、(do *vars* *test* *body*)
;の逐次形式があります。letの 順次 parallel とlet*
同じよう*vars*
に、一度に 1 つずつ処理されるため、以前に定義した変数を次のように参照できます。
スキームでは、知る限り、相関する関数やマクロはありません。ありますがdo
、ありませんdo*
。私はdo*
チキンスキームの実装を書こうとしてきましたが、これまでのところ、前進するのに苦労しています...私は本当にわからないと思います。私は Chicken Scheme に精通していますが、Scheme マクロはいつも混乱を招きます。
ここに私がこれまでに持っているものがあります:
しかし、リストではないなどのエラーが発生し続けdoloop
ます-現在、私は取得しています
以下は、 HyerSpecdo*
から取得した Common Lispのラフです。
do* は似ていますが、let* と setq がそれぞれ let と psetq を置き換えている点が異なります。
do*
CL での展開は次のとおりです。
scheme - csi と csc の違い (Chicken Scheme)
関数がコンパイラではなくcompose
インタプリタで定義されているのはなぜですか? 自分で簡単に定義できることは知っていますが、なぜこのような違いがあるのか 疑問に思っていました.csi
csc