問題タブ [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.

0 投票する
2 に答える
959 参照

scheme - チキンスキームでバッファリングされたI/O?

Racket には素晴らしいread-bytes-async!関数があり、これは世界中の他のすべてのプログラミング言語に存在すると私は信じています。ブロックせずに、入力ストリームから可能なものをバッファーに読み取り、書き込まれたバイト数を返します。

この機能は、たとえば Unix ツールを効率的に実装するために絶対に必要な機能のように思えcatますが、Chicken Scheme にはそのような機能が欠けているようです。もちろん、 と を使用できます(read-byte)(write-byte)、これは遅く、CPU をすべて使い果たします。

その(copy-port)ような実装はないようです。代わりに、ストリームが閉じられる前に、バッファーがいっぱいになった場合にのみ、データがバッファーごとにコピーされます。これは、(copy-port (current-input-port) (current-output-port))がまったく動作しないことを意味catします。

ドキュメンテーションを読む際の恐ろしい盲点に苦しんでいるだけですか、それとも Chicken には驚くほどそのような機能が実際に欠けているのでしょうか? catChickenで効率的に書くことさえできないのですか?

0 投票する
2 に答える
606 参照

chicken-scheme - Chicken Scheme のシステム コマンドから出力を取得する

Chicken Scheme のシステム コマンドから出力を取得するにはどうすればよいですか?

NewLISP で通常行う方法は次のとおりです。

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

scheme - スキームで未使用のリスト/手順を見つける方法は?

いくつかの (Chicken) スキーム コードをクリーンアップしており、特定のプログラムで使用されていないすべてのリスト/プロシージャを特定したいと考えています。Chicken コンパイラに渡す特定のオプションはありますか、またはスクリプト内の識別子をそれぞれリストして-ingcsi -sせずに渡すために使用できますか?definegrep*.scm

0 投票する
2 に答える
153 参照

scheme - 私はスキームに不慣れで、何が問題なのかわかりません

戦う騎士のリストを 1 つ受け取る関数を作成しています。彼らの戦いを実行しているコードは機能しています (馬上槍試合)。今、私はトーナメント システムを書いていますが、トーナメント ラウンドを機能させることができません。先ほど言ったように、騎士のリストを受け取り、全員が戦うまで再帰的に戦わせ、勝者と敗者の 2 つのリストを返します。知っていることはすべて試しましたが、何をしてもエラーが発生し、コードが機能しなくなり、その理由がわかりません。これまでに書いたものは次のとおりです。

「Call of non-procedure: #」というエラーが表示される理由と、今後このエラーを回避するにはどうすればよいですか? 私は、scheme/lisp について重要なことを理解していないだけだと確信しており、実際に説明を使用することができます。

すべての助けをありがとう、問題は解決されました

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

c - STDINからの読み取り、チキンスキーム

私は(多かれ少なかれ)Cでこれを行う方法を知っています:

望ましい最終結果は、存在する場合、パイプから STDIN を読み取ることです。(上記のコードではそれができないことはわかっていますが、パイプ/ヒアドキュメントから読み取るときにのみ上記を行う方法がわかりませんでした)。

Chicken Schemeで同様のことを行うにはどうすればよいですか?

前に言ったように、最終的な目標はこれを実行できるようにすることです。

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

vim - 複数の行をチキン スキーム インタープリターに貼り付けるにはどうすればよいですか?

Chicken Schemeを使い始めようとしているのですが、REPL に邪魔されています。CSI では、複数の行を貼り付けることはできないようです。そのため、別のファイルで新しい関数を作成し、それを貼り付けてテストするのは非常に困難です。

外部編集で作成されたコードのブロックを一気に取り込もうとしています。

@romainilの回答へのコメントは、一部の人ができることを示しているようです。理解できない理由で私だけではありません。

では、複数の行を csi に貼り付けるにはどうすればよいでしょうか。

(補足:Macでこれを行っています。ターミナルとiTerm 2を使用してみましたが、同じ結果です。)

[編集] 以前のバージョンには、貼り付け以外に vim からコードのブロックを csi に取り込む方法に関する副次的な質問が含まれていました。@romainlの回答はそのほとんどをカバーしていましたが、vim内でシェルを実行するまでは、実際に機能するソリューションは見つかりませんでした。