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

scheme - Sublime Text 2 with MIT Scheme

Does anyone know how i could use sublime text 2 with scheme. I've heard ST2 and I want to try it out? right now I'm learning scheme. I have the scheme interpreter installed - I can go to the terminal and type in scheme and run code. I can also run the interpreter in emacs, but emacs isn't really fun.

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

scheme - リスト内のアイテムを比較しますか?

リスト((1 4 5)5(6 2 5))と別のリスト(5 1 3 7 5(9 2 4))がある場合、最初のリストの項目を比較して表示するプロシージャを作成する必要があります。彼らが2番目にいる場合。たとえば、(1 4 5)は(​​5 1 3 7 5(9 2 3))に0回出現します。5はこのリストに2回表示され、(9 2 4)は0回表示されます。したがって、リストは(0 2 0)を返します

2つのリストを取得するスキームプロシージャの頻度を作成するのに助けが必要です。1つ目は各コンポーネントを比較するもので、2つ目は最初のリストの出現回数をカウントするものです。プロシージャは、発生のリストを返す必要があります。

ありがとう!

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

scheme - リスト内のアイテムを比較しますか?図式

リスト((1 4 5)5(6 2 5))と別のリスト(5 1 3 7 5(9 2 4))がある場合、最初のリストの項目を比較して表示するプロシージャを作成する必要があります。彼らが2番目にいる場合。たとえば、(1 4 5)は(​​5 1 3 7 5(9 2 3))に0回出現します。5はこのリストに2回表示され、(9 2 4)は0回表示されます。したがって、リストは(0 2 0)を返します

2つのリストを取得するスキームプロシージャの頻度を作成するのに助けが必要です。1つ目は各コンポーネントを比較するもので、2つ目は最初のリストの出現回数をカウントするものです。プロシージャは、発生のリストを返す必要があります。

これまでのところ、2つの手順を実行するように言われています。1つは各アイテムの発生をカウントし(カウンター)、もう1つはリストでそれを追跡します(頻度)。私はこれまでにこれを行いました:

(define (counter ele lst)

(define (frequency els lst)

頻度プロシージャをどうするか、そしてそれからカウンタプロシージャを呼び出す方法がわかりません

ありがとう!

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

lisp - スキームの高次手順での入力へのアクセス

別の関数に入力として与えられた関数の入力にアクセスするにはどうすればよいかを理解する必要があります。

例えば; これを行うfという関数があります(define f (lambda (x) (if (null? x) #t (car x))))。このfを入力として受け取り、次のような別の関数を返す関数を作成する必要があります。

(twoback f)-関数fを入力として受け取る関数を定義します。

-出力として、次の動作をする新しい関数gを返す必要があります。

xが空のリストまたは長さ1のリストの場合、g(x)=#t。

そして、関数は次のように呼び出されます:((twoback f3) (list #t #f #t #f))

だから実際に私の質問は:私が書くつもりの関数(twoback関数)の関数呼び出しで与えられたリストにどのようにアクセスできますか?空かどうかを確認する必要があるからです。

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

mit-scheme - 使用可能な表示タイプが見つかりません

VirtualBoxで実行されているCentosにmit-schemeをインストールしました。しかし、プロシージャ(edit)または(edwin)を呼び出してEdwinエディタを起動しようとすると、「使用可能な表示タイプが見つかりません」などのエラーメッセージが返されました。誰かが私にこれを教えてもらえますか?

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

functional-programming - チェスゲームに移動する

ペアを渡すことによってボード上のチェスの駒に合法的な移動を適用する移動手順があります:(conssource dest)したがって、(cons 1 2)はボードから位置1の駒を取り、それを位置2に移動します。

以前と同じ動きを適用する手順を作成しようとしています。やってみた

(move(reverse move))これは(cons 2 1)を通過し、それによってピースを戻します。

残念ながら、リバースはペアでは機能しません。最後にnullに対応するために多くのコードを変更する必要があるため、リストに変換できません。

誰かが何かを考えることができますか?ちなみに私はMITスキームを使用しています。

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

scheme - ボードゲームで行われた動きを追跡する

MIT Sceheme でチェス ゲームの作成に取り組んでいます。すべての駒の動きを追跡する手順を作成したいと考えています。

ここに例があります。ルークを5マス上に移動させます。次のターンは 5 スペース戻してほしい。問題は、前のターンに前進した駒を追跡する方法がわからないことです。したがって、それを後退させる方法がわかりません。私が現在できることは、ボード全体の状態を取得することです。ある種の突然変異を使用する必要があると思いますか?

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

scheme - リスト内の値をその値の数だけ繰り返す

非負の整数のリストを受け取り、その値に等しい回数を表す各値を順番に含むリストを返す、Scheme プロシージャ (repeats-a-lot lst) を完了します。以下の例を参照してください。ソリューションでリバースを使用できます。また、ソリューション内でヘルパー プロシージャを使用することもできます。また、このページの後半でより多くのスペースを確保することもできます。

注: これは宿題ではありません。練習問題なので答えられません

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

scheme - スクリプトの実行に使用されている場合に、mit-scheme で出力を冗長にする方法

私は、SICP から演習を解くために mit-scheme を使用することを人々が推奨するこの質問を見つけました。いくつかのpythonとrubyを実行した後、mit-schemeインタープリター/コンパイラーを同じ方法でrubyまたはpythonを使用できるかどうか疑問に思っていますか? つまり、vim でスクリプトを記述しmit-scheme my_script.scm、ターミナルで実行して出力を確認するだけです。

アップデート

mit-scheme < my_script.scm私が探していたように見えますが、その出力は冗長すぎます。理想的には、意図的に に送信したものだけを出力に表示したいと考えていstdoutます。

0 投票する
4 に答える
351 参照

haskell - MITスキームで未定義の結果を表す

すべての整数の定義域が0より大きい関数があるとします。他の入力の結果を未定義にします。簡単にするために、これが増分関数であるとしましょう。Haskellでは、私はこれを次のようなもので達成することができました

もちろん、この例はかなりわかりやすいですが、私が何を達成したいのかは明確になっているはずです。スキームで同様のことを達成する方法がわかりません。

error私の考えはそこに固執することですが、ハスケルの振る舞いをより厳密に再現する方法はありますか?