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ランキング
-
エクセル ユーザーフォーム ...
-
カラーの16進表記の足し算
-
VC++ (byte)(col & 0xFF) の意味
-
複数条件のオートフィルタ(VBA)
-
Linuxのプログラミング
-
小数点以下五桁一致の判定
-
エクセルのVBAでの7×7の魔方陣...
-
二点の座標から距離や角度を求...
-
一行飛ばしで合計
-
VBAで入力数値について
-
マウスポインタの変更
-
レコードセットにnullの場合
-
VBAでcallで呼び出したsubを終...
-
VB6.0の正規表現を使って、文字...
-
VBAのフォーム カーソル移動
-
VBA public変数はどのようなこ...
-
「ずっと憧れていました」は英...
-
文字列を繰り返して表示する VBA
-
VBによる回帰直線のプログラム
-
スタイルシート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二点の座標から距離や角度を求...
-
エクセル・VBAでテキストボック...
-
複数条件のオートフィルタ(VBA)
-
VB.NET)コンボボックスの連動に...
-
VC++ (byte)(col & 0xFF) の意味
-
テキストファイルの読み込みと...
-
Lispにおける最大値関数
-
カラーの16進表記の足し算
-
線の太さ
-
ドラゴン曲線を再帰で書く
-
2次元配列を返す関数について
-
エクセルのVBAでの7×7の魔方陣...
-
for文の質問です。
-
小数点以下五桁一致の判定
-
不等間隔での数値積分
-
4変数の非線形方程式のときかた
-
C言語で非線形方程式を解くプロ...
-
こうもりの撃退法
-
C#を勉強していて、指定したフ...
-
Linuxのプログラミング
おすすめ情報