問題タブ [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.
filter - チキンスキームでバインドされていないフィルター。なんで?
私はチキンスキームから始めています。以下のコードは、mit-scheme repl では機能しますが、csi では機能しません。csi にはドキュメントで定義されたフィルターがありますが、以下のコードを実行すると、バインドされていない変数エラーが発生します。
command-line-interface - Chicken-Scheme - 標準入力経由で渡されたすべての行をどのように読み取るのですか?
標準入力を介してチキンスキームスクリプトに渡されたすべての行を読み取り、それらをリストに入れようとしていますが、いつ終了したかを正しく判断できないようです入力。別のテスト スクリプトは、テスト(eof-object? results-of-last-read-line-call)
が正当なテストであることを示しているように見えましたが、以下の例では、無限に読み続けているだけです。
以下のテストスクリプトをまとめました。私はそれを呼んでいますcat some_file.txt | this_script.scm
scheme - Chicken Scheme で一般的な SRFI を使用するためのエイリアス
Chicken には、私が望む主要な SRFI のほとんどが付属していますが、非常にイライラすることの 1 つは、私が知る限り、それらを番号で使用する必要があることです。(use srfi-69)
それが本当に「ハッシュテーブルを使用する」ことを意味することを覚えているかもしれませんが、私のプロジェクトの他の人は覚えていませんsrfi-14
。(興味があれば、マルチスレッド。)
(use hashtables)
代わりにもっと近いものを書くことができるように、SRFI のエイリアス システムはありますか? または、Chicken を起動したときにすべての組み込み SRFI を使用するように指示する方法はありますか?
unit-testing - チキン スキーム - 標準出力に送信されたデータを一時的にキャプチャする方法
呼び出す手順があります(display "foo")
display
ユニットテストを作成して、そこに正しいデータを送信しているが、入力を標準出力に送信していることを確認したいと思います。
質問: 他の言語では、標準出力を変数に書き込むだけのものとして再定義し、テスト後に元に戻すことがあります。それはチキンで正しいことですか?もしそうなら、どのように?そうでない場合、何をするのが正しいですか?
注:ユニットテストを行っているメソッドを変更する必要があるため、2番目のパラメーターとして表示するために何か他のものを渡すことはオプションではありません。
scheme - スキームで引用符なしで文字列をファイルに書き込む方法
文字列をファイルに書き込もうとしていますが、毎回引用符で囲まれています。
私はもう試した
と
しかし、どちらの場合も、私は期待し"some text"
ていましたが得ました"\"some text\""
私は現在チキンスキームで働いていますが、それは問題ではないと思います.
scheme - モジュール内の Chicken スキーム (使用) および (インポート) が機能しない
私はいくつかのプロジェクトでこの問題を経験しましたが、このテスト ケースでは、問題を理解するのに不要なものがすべて削除されています。私はそれを使って何が悪いのかを理解してきました:
だから私はその中に2つのファイルを含むディレクトリを持っています, foo.scm
, とbar.scm
:
csi で baz.scm を実行すると、次のエラーが表示されて失敗します。
ドキュメントを確認しました。use
コードをメモリにロードしてからロードする必要がありますimport
。私も実行しましrequire
た 、関数use
はコードを個別にロードするために使用します。問題なく実行されますがimport
、失敗するだけです。また、コードを にインポートしようとしましたcsi
。use
動作しませんが、require
その後にimport
動作しますが、それは と同等であるはずuse
です。
要するに、私は絶望的に混乱しています。何が起こっているのか、それを修正する方法を誰かが説明できますか?
scheme - 非手順の呼び出し <#unspecific>
sexps を xml に変換しようとしています。xml タグとその子タグを表すリストを調べて、正しいインデントで標準出力に出力する再帰関数があります。
私はチキンスキームコンパイラを使用しています。
ソース:
通常の設定でコンパイルしましたcsc xml.scm -o xml.exe
私は次のことを得る
を削除する(display-heir tg1)
と、その行の後に続くコードで正しい出力が得られます。