2017-05-19 1 views
-1

私はLISPを学ぼうとしています。私は機能の周りに自分の道を持って、私はいくつかで自分自身をテストしたい。LISPリストから特定のインデックスの要素を削除する方法

特定のインデックスのリストから要素を削除できる関数を作成しようとしていました。

これはかなり簡単ですが、私はそれを行うことはできません。

例:私はリスト(20 8 13 10)を持っていると私は私がこのような何かに行くかどう

インデックス2で番号を削除したいですか?

+0

からStackoverflowヘルプから: *宿題の助けを求める質問には、問題を解決するためにこれまでに行った作業の概要と、それを解決する難しさの説明が含まれていなければなりません。* –

答えて

1

非常に簡単です。これは、基本ケースである:

(remove-nth 0 '(2 3)) ; => (3) 

とデフォルトの場合:

(remove-nth 1 '(1 2 3))   ; == 
(cons 1 (remove-nth 0 '(2 3))) 

あなたがするために残された唯一のものは、実際にそれを実装することです!

3番目のケースがあります。リストがnilの場合はどうなりますか?あなたが仕事をすることはできませんあなたはエラーを通知する必要がありますか何かが何もないので、それはそれが'()に評価する基本ケースとして持っているので、(remove-nth 5 '(1 2)) ; ==> (1 2)

+0

ありがとう、私は結局それを考え出しました。しかし、あなたの答えは素晴らしいです – Kobek

関連する問題