問題タブ [mit-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 に答える
81 参照

recursion - 基本ケースが満たされた後、Scheme はどのようにして再帰的手続きの「構築された」値を返しますか?

私は単にスキームを調べていて、再帰のセクションにたどり着きました。

基本ケースが満たされたときに、Scheme が再帰プロシージャの「構築された」値を返し、基本ケースが に評価される原因となった実際の引数の値を返す理由がわかりません#t

たとえば、次のサンプル コード スニペットを見てください。これは、単語を入力として受け取り、それを逆にして、吐き出します。

これが私を混乱させるものです:(if (empty? wd) wd

仮パラメーターの実引数値wdが空 (または"") の場合、基本ケースが に評価され#t、2 番目の引数の値ifが評価されることを理解しています。

私が理解していないifのは、 ( wd、この場合) の 2 番目の引数が、基本ケースをトリガーした同じ空の仮パラメーターのように見えても、空ではない何かを返す方法です。

私は何が欠けていますか?

これを説明するドキュメント (またはテキスト) に何かがあれば、喜んでレビューします。

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

scheme - スキーム評価の例がわかりません

私はScheme言語が初めてです。「単純なスキーム」の本を読んでいて、次の例に出くわしました。

実行すると 3 が得られました。各条件式は 2 つの引数を取る必要があることを知っています。1 つは条件の「評価」用で、2 つ目は「答え」です。eval はどこにあり、答えはどこにありますか? なんで ?

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

scheme - TypeError、オブジェクトは適用できません

比較的単純な銀行口座関数を作成しましたが、実行しようとすると TypeError が発生し、その理由がわかりません。それはSICPから直接出てきたので、ソリューションはすぐに利用できます.なぜ私の答えがそのエラーを生成するのかを理解したいだけです. 何かご意見は?これが私のコードです:

関連するインタープリターの入力とインタープリターからの出力は次のとおりです。

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

lisp - g で同一パリティ関数を作成します。w in mit スキーム

たとえば、1 つ以上の整数を取り、最初の引数と同じ偶奇パリティを持つすべての引数のリストを返す関数を作成しようとしています。

私のコードは

これを試してみると(same-parity (list 1 2 3 4))、エラー メッセージが表示されました。car の最初の引数として渡されたオブジェクト () は正しい型ではありません。

何が起こっているのか誰か教えてもらえますか?

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

haskell - Haskellで同種リストはどのように役立ちますか?

数か月前に Haskell の学習を開始しました。また、異種リストを使用する別の関数型言語スキームでのプログラミングも知っています。両方のデザインを比較できるように、両方のタイプのリストの長所と短所を知りたいです。

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

scheme - スキームインタプリタの上向き矢印は、履歴の代わりに ^[[A を送信します

私は mit-scheme-x86-64 を実行しており、SICP を読んでいます。

何らかの理由で、上矢印と下矢印は、ターミナル/他のすべてのインタープリターのように動作しません。

それぞれ ^[[A と ^[[B を送信します。

.bashrc でこれを実行しようとしましたが、うまくいきませんでした。

私は実際に何をすべきかよくわかりません。

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

scheme - mit-scheme REPL で手続きを未定義にする

私は mit-scheme を使用して SICP を通過しています。昨日、私は何かばかげたことをしました。REPL を閉じずに最初からやり直すことなく、そこから回復する方法があるかどうか疑問に思っていました。プリミティブと同じ名前で動作しないプロシージャを定義し、すべてを壊した場合、それを「定義解除」する方法はありますか?

この「+」を「未定義」にして、元のものを続けたいと思います。

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

debian - edwinエディタのフォントサイズを変更するには?

私は mit gnu スキームに付属している edwin エディターを使用しています。次のコマンド「scheme -edwin -edit」を使用して Debian システムで開くと、エディタ ウィンドウが表示されますが、フォント サイズが非常に小さくなっています。

何度か検索した後でも、エディターのデフォルトのフォント サイズを変更する方法がわかりませんでした。次のコマンド ((ref-command set-default-font) "200") を試しましたが、役に立ちませんでした。ここで参照を見つけることができましたhttp://courses.csail.mit.edu/6.844/spring05-6844/handouts/edwin.iniしかし、あまり役に立ちません。

edwinでフォントサイズを変更するにはどうすればよいですか?