問題タブ [htdp]

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 に答える
85 参照

scheme - リスト自体ではなく空を返すのはなぜですか?

第4章、HtDP。

注:これは他の質問でも見ました。

私が気付いていないのは、明確な理由によるのか、アルゴリズム上の理由によるのか、基本ケースが空のリスト自体ではなく空を返すのか。

例:

これも同じように正しいと思います。

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

scheme - Racket でのモジュールのインポートの重複

画像を読み込んで、Racket でアニメーション化したいと考えています。Dr.Racketでも簡単にできますが、GeiserでEmacsを使っています。画像をロードするには、次のことが必要です。

次に、この画像を画面に描画するために、ビッグバン モジュールを使用する予定です。このモジュールをロードするには、次のことを行う必要があります。

しかし、私はこのエラーが発生します:

これは基本的に、同じモジュールを 2 回インポートできないことを意味します。しかし、これらのライブラリの両方が必要です。この問題を回避するにはどうすればよいですか?

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

racket - Racket ソースコードで学生の言語を選択する

How to Design Programs Teaching Languagesの言語の 1 つを指定する DrRacket のソース ファイルを作成しようとしています( Racket のドキュメントを参照してください)。DrRacket メニューでそのような言語を選択できることは知っていますが、#langディレクティブを使用して指定し、DrRacket に言語を自動的に認識させたいと考えています。

racket最初の行の代わりに使用する必要がある文字列に関するドキュメントが見つかりません

これに関するドキュメントはどこにありますか? それとも、これらの言語は DrRacket のメニューからのみ選択できますか?

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

racket - 関数が (list ...) ではなく (shared ...) を返すことがあるのはなぜですか?

次の関数を使用して、posn のリストをトリプル (posn、posn、symbol) のリストに変換し、後で draw-solid-line で使用できるようにします。

それを (list (make-posn 10 10) (make-posn 10 20)) に適用すると、

予想どおりですが、リストにさらに posns を追加すると、次のようになります。

私は混乱していると思います。

期待どおりに描画できるため、明らかに必要なリストのように動作しますが、(shared ...) とは何か、関数がこのタイプの値を返す理由がわかりません。

私の唯一の手がかりは、シンボルのリストでは同じ動作が得られないため、リスト内の posns の存在に関連している必要があるということです。

これが関連する場合に備えて: 私は HTDP-advanced 教​​育言語を使用しています。

このタイプの出力が得られる理由を誰かが明確にすることはできますか?

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

functional-programming - 構造内でインスタンス化されたパラメーターを使用する

現在、 htdp ブックの第 7 章を​​完了しており、スパイダー構造のインスタンスを作成しようとしています。

(make-spider 4)私の問題は、spidercheck関数内の関数に番号を渡したいということですa-spider。私は試し(spider-legs a-spider)ましたが、もちろん、定義の前に使用されていると言われています。どんな助けでも大歓迎です。

ありがとう!

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

scheme - 「プログラムの設計方法」(HTDP)の第1版と第2版の違い

何時間もインターネットを検索しましたが、HTDP (プログラムの設計方法) の最初のバージョンと 2 番目のバージョンの違いについて満足のいく答えが見つかりませんでした。

最初のバージョンではなく、2 番目のバージョンから始める必要があるのはなぜですか? 第二版はまだ完成していないので、第一版に戻さなければならないところまで来てしまうのではないかと心配しています。

問題は:

  1. 初版のどの部分/章まで?
  2. 前後に切り替えることはできますか?第二版は全然違う構成じゃないですか。それとも、これら 2 つのバージョン間の個々の章は互換性がありますか?

誰かが私を助けてくれることを願っています。

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

scheme - ラケットについて : #lang not enabled

しばらくの間、プログラムの設計方法を学ばなければなりませんでしたが、Emacs を使用して htdp を学び始めたとき、いくつかの問題に遭遇しました。問題は次のとおりです。 #lang racket と入力しましたが、次のように表示されます。

そして、「require」を使用してパスをロードします。

また、動作しません。

それを解決するのを手伝ってもらえますか? PS私のシステムはFedora20です。

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

scheme - ラケット - 特定の制約の下でフロア機能を作成する

次の制約を使用してフロア関数を作成しようとすることにかなり固執しています。

このページのセクション 1.5 では、次の機能のみを使用することが許可されています: http://docs.racket-lang.org/htdp-langs/beginner.html

ただし、フロア、ラウンド、天井、sgn 機能は使用できません。これらすべてに加えて、再帰、cond、リスト、さらにはヘルパー関数も使用できません。

注: 初心者の学生用ドキュメントのみを使用してください