lisp

    3

    3答えて

    Lispプログラムはネストされたリストを通り、その関数に渡された要素と一致する要素を削除します。私の問題は、ネストされたリストのいずれかのものがすべて削除された場合、NILの代わりに()を出力する必要があるということです。 (defun del (x l &optional l0) (cond ((null l) (reverse l0)) ((if (atom x) (eq

    2

    1答えて

    私はRacketとDr. Racketを使用しています。 andmapという組み込み関数があります。 ビルトインandmapのバージョンは、このように動作します: > (andmap positive? '(1 2 3)) #t 機能番号は通常通り動作します。これはなぜ起こるか (number? 3) > #t (number? '()) >#f 私は得ることはありません: (

    1

    1答えて

    ローマ数字を10進形式に変換するlispプログラムがあります。有効な入力には効果的ですが、入力が有効なローマ数字であるかどうかを確認する方法がわかりません。たとえば、現在無効な入力( "MIM")が与えられている場合、それは誤って変換しようとします。代わりにERRORメッセージを返す必要があります。 (defun mapRomanToDecimal (chars nums string)

    0

    1答えて

    整数のリストをツリーに変換しようとしています。 次は私の関数定義されている:私は自宅から勉強 (define-struct (Some T) ([value : T])) (define-type (Option T) (U 'None (Some T))) (define-type BST (U 'E Nd)) (define-struct Nd ([r

    0

    1答えて

    Midjeというファンクションの後に実行される関数が見つかりませんでした。 がここにコードされています (background (before :contents (println "Before All Facts")) (after :contents (println "After All Facts")) (before :facts (println "Be

    1

    1答えて

    私は初心者です。私は基本関数foldl/foldrを理解しようとしています。私はdocumentationを読んでいくつか試しました。 しかし、私はこのケースでは、その動作を把握することはできません:関数が原始的であるので、私はfoldlのトレースすることはできません (expt (expt (expt (expt 2 1) 2) 3) 4) >> 16777216 : (foldl exp

    0

    1答えて

    Lisplabをasdfとquicklispでインストールしようとしましたが、すべてが失敗することが判明しました。 私はsbclとスライムを使用します。 誰でもインストールを手伝うことができます。そして、私はちょうどlispの中で行列を操作したいです:) ありがとう、lisper!

    0

    2答えて

    2つのリストを引数として受け取り、それらをリストに乗算する関数を書いてみたい。 (3 4)(3 5 6)=>(9 15 18 12 20 24) これは私が思い付いてきたが、私は言っているエラーを受け取るコードである。このような 私はマップの引数が少なすぎる。 (defun multip (lst lst2) ;this is a function to flatten the resu

    0

    3答えて

    barとbazの値を1つの条件に応じて設定したいとします。両方の場合で同じです(たとえば、fooという値)。上記のプログラムは正しいですが、それは二回fooの値をチェックするようlet特殊な形式を使用して、私は このような (let ((bar (if foo 1 2)) (baz (if foo 3 4))) ...) 何かを、それは少し奇妙に思えます。そのような場合に

    0

    1答えて

    私は遺伝的アルゴリズムに関連する学校プロジェクトに取り組んでいます。私はランダムなラムダ式を作成して正しい値を近似する近似アルゴリズムを作成する必要があります。これまでのところ、ラムダ式をランダムに作成することができましたが、提供された例のおかげで、それらを実行する方法が残っていますここに私のコードはあります: #lang racket (define operators '(+ *)) (d