Lispで括弧の入れ子の中身も含めた最大値を求める関数を自分なりに作ったのですが、条件によってはうまくいきません。
なぜだか教えていただけないでしょうか?
(defun max1 (n)
(cond ((atom n) n)
(t (if (null (cdr n)) (max1 (car n))
(progn (let ((local_max (max1 (cdr n))))
(if (> (car n) local_max)
(car n)
local_max)))))))
> (max1 '(1 2 6 (3 4)))
6
> (max1 '(1 2 (6) ((3 4))))
>: (6) is not a REAL
No.1ベストアンサー
- 回答日時:
とりあえず理由がわかればいいのですか?
>: (6) is not a REAL
このメッセージを見てわかる通り、
(> (car n) local_max)
この比較をしているところの (car n)が、
エラーになるパターンだと
(6) になってしまい、> (6) 4 という比較をしようとして
エラーになっています。
((a) b) の car は a じゃなくて (a)なので、
どうにかしてもう1枚皮をむきましょう。
てなヒントでよろしいでしょうか?
ところで cond と if を混ぜて使うのは珍しいというか
あまり見ないスタイルですね。
できればどっちかにした方が良いと思います。
今回の場合は cond が二分岐ですし。
ところで使っているLispの処理系はなんなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 リーマン和 1 2022/12/01 13:32
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- 数学 線形代数の対称行列についての問題がわからないです。 2 2023/01/08 14:59
- 数学 写真の問題の(2)の赤線部についてですが、なぜ追試を受けた人はx1の一人だけなのですか? 例えばx1 3 2023/07/27 14:36
- 数学 ハイネボレルの被覆定理、内田伏一著 「集合と位相」定理22.1 1 2022/07/07 10:49
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- 数学 場合の数、確率 45 (浜松医科大学) 1 2023/07/29 13:52
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- 経済学 国家公務員一般職試験の問題より 同じ財 X を生産する企業1、企業2からなる複占市場において、Xの需 2 2022/11/28 12:44
- C言語・C++・C# ある線が円の範囲に入っているかの計算 1 2022/12/07 16:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ドラゴン曲線を再帰で書く
-
VB.NET)コンボボックスの連動に...
-
4変数の非線形方程式のときかた
-
エクセル・VBAでテキストボック...
-
二点の座標から距離や角度を求...
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
チェックボックスを操作できな...
-
C言語のサフィックスについて
-
C#のループでtextboxに値を入れ...
-
visual basic初心者です。 visu...
-
String型の値にスラッシュをつ...
-
文字列の中からある文字の個数...
-
VB.NETでのイベントの途中終了
-
VS CodeでTEXファイルにPDF形式...
-
FlexGridで文字色を変更。
-
pthread_cond_waitとptherad_co...
-
Functionの戻り値を配列にした...
-
フォルダ内にさらにフォルダが...
-
整数かどうかチェックする
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二点の座標から距離や角度を求...
-
エクセル・VBAでテキストボック...
-
複数条件のオートフィルタ(VBA)
-
VB.NET)コンボボックスの連動に...
-
VC++ (byte)(col & 0xFF) の意味
-
テキストファイルの読み込みと...
-
Lispにおける最大値関数
-
カラーの16進表記の足し算
-
ドラゴン曲線を再帰で書く
-
線の太さ
-
2次元配列を返す関数について
-
エクセルのVBAでの7×7の魔方陣...
-
for文の質問です。
-
C言語で非線形方程式を解くプロ...
-
小数点以下五桁一致の判定
-
4変数の非線形方程式のときかた
-
不等間隔での数値積分
-
こうもりの撃退法
-
Linuxのプログラミング
-
一行飛ばしで合計
おすすめ情報