[解決済み] SchemeにおけるMemvの手続き
2022-02-10 02:21:35
質問
(define memv2
(lambda (x l)
(cond
((null? l) #f)
((eqv? (car l) x)
cdr l)
(else
(memv2 x (cdr l))))
このコードは、Schemeに内蔵されているmemv関数の複製として、私のノートに掲載されたものです。この状況で#fが何をしているのか、誰か説明してくれないかな。ループを抜けるのでしょうか?
(memv は要素とリストを取り込み、要素の位置から先のリストを返す。例えば、(memv 2 '(1 2 3 4 5)) は (2 3 4 5)) を返す)
どのように解決するのですか?
その
#f
の値は、プロシージャがリストの走査を終了したときに返されます。これは、検索された要素が見つからなかったことを意味し、再帰を終了します。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン