問題タブ [the-little-schemer]

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 投票する
1 に答える
1758 参照

scheme - ラケット (スキーム) エラー: 引用符の後にシンボルの名前が必要でしたが、一部が見つかりました

Dr. Racket バージョン 5.3.6 でこのコード (The Little Schemer) を実行します。

quote: expected the name of the symbol after the quote, but found a partそしてそれはエラーをスローします:(quote ()))部分的に。ここで私が間違っていることは何ですか?

0 投票する
0 に答える
115 参照

scheme - 小さな計画者 - IDE

「The Little Schemer」という本を読んでいて、本のコードをいじることができる IDE を探しています。DrRacket と REPL を調べましたが、これらがこの学習目標に最適な IDE であるかどうかはわかりません。また、本のコードがすでにプラグアンドプレイ/すぐにコピーできるソース/ウェブサイトはありますか? よろしくお願いします、W

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

recursion - Little Schemer: 長さ ≤ 2 のリストのみをサポートする write 関数

The little schemerでは、長さが1以下のリストのみをサポートするこの関数を見つけました。

段階的に学習し、 2以下の長さのリストのみをサポートする同様の関数を作成したいと考えています。

次のようなコードを提供して、この質問に答えないでください。

この関数は任意の長さをサポートするためです。

そして、私はすでに次のような関数を書く方法を知っています:

私の目標を達成するために。しかし、このコードは最初のスニペットから一歩離れています。

たぶん、私は変更すべきではありません:

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

recursion - 「自然再帰」の定義は何ですか?

The Little Schemerの第三の戒めは次のように述べています。

リストを構築するときは、最初の典型的な要素を記述し、それを自然再帰にコンスします。

「自然再帰」の正確な定義は何ですか? 私が質問している理由は、ダニエル・フリードマンによるプログラミング言語の原則に関するクラスを受講していて、次のコードは「自然に再帰的」とは見なされないためです。

ただし、次のコードは「自然に再帰的」と見なされます。

私は「不自然に再帰的」なコードの方が好きです。ただし、そのようなコードは忌み嫌われるものと見なされます。関数を末尾再帰形式で記述すべきではない理由を尋ねると、副講師は単に「自然再帰を台無しにするな」と答えました。

「自然に再帰的な」形式で関数を書くことの利点は何ですか?

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

scheme - 1つの関数を使用してSchemeで数値が負かどうかを判断する

The Little Schemer を読んでいて、負の数の扱い方に興味を持ち始めました。数値が負か正かを判断する関数を構築する方法を理解することは、素晴らしい挑戦のように思えました。

これまでのところ、私はこの解決策を持っています:

これはうまく機能しているように見えますが、私の質問はnegative?、ヘルパー関数なしで正しくできるかどうかです。

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

scheme - 緯度ですか?スキームのプリミティブ関数?

l が次のように定義されているとします。

l は現在、アトムのリストにバインドされています。

Little Schemer では、lat? という単純な関数を紹介します。アトムのリストとしての引数の分類に応じて #t または #f に評価されます。例えば、

l は 3 つのアトムのリストであるため、 #t と評価される必要があります。

ただし、lat? を呼び出すように求められたときに、スキーム インタープリター ( repl.it ) がエラーをスローします。

緯度を仮定するのは間違っていますか?はSchemeにとって原始的ですか?

また、その場合の再投稿はご容赦ください。

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

lambda - ラムダは本の「小さな計画者」のアトムですか?

シンプルなスキーマ インタープリタを実装する本「The little schemer - 4th edition」の第 10 章を読んでいます。:atom?188ページの機能を除いて、他のすべてのコンテンツは問題ありません。

私はこの行について明確ではありません:

本の前から、non-primitiveはラムダ定義に対応しています。

次の値を持ちます (環境を渡しますtable):

これは、本の中でラムダ定義が , であることを意味しますatomか?

そうだと思いますが、本に記載されている関係を見つけることができないので、よくわかりません.

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

scheme - コレクタ関数はSchemeでどのように機能しますか?

私は、Scheme でのコレクター関数の使用法を理解するのに苦労しています。私は本「The Little Schemer」(Daniel P. Friedman と Matthias Felleisen 著) を使用しています。いくつかの説明を含む包括的な例は、私を大いに助けてくれます。コレクター関数を使用する関数の例は、次のスニペットです。

...呼び出しの例を使用して(identity '(a b c) self)、 being とself-functionbeingを呼び出します(define self (lambda (x) x))。このidentity関数は指定された list を返すlため、指定された呼び出しの出力は になります(a b c)。使用されている正確な言語は、R5RS レガシー言語です。