[解決済み] ラケットのメンバー?
2022-02-19 09:47:01
質問内容
2011年に行われたBrian HarveyのSICPの講義を聞いています。
UCバークレー校のサイト
. 彼は
STkインタプリタ
私はラケットとDrRacketを使って授業に参加しています。私は、先生が授業で使う関数のうち、racketで定義されていないものをすべて定義しようとしています(たとえば
word
,
butfirst
,
butlast
) を使って、さらに練習を重ねます。
を定義しようとすると、問題にぶつかります。
member?
. 彼はリストや文字列でこれを使うことができ、次のようなことができます。
(member? 1 (list 1 2 3 4)) ;; works
(member? 'a '(a e i o u)) ;; works
(member? 7 17) ;; doesn't work
(member? #\e "Hello") ;; doesn't work
以下は、私の定義です。
member?
を実行すると、上記のようになります。
(define (member? u lst)
(not (equal? (member u lst) #f)))
これはリストで動作しているので、最初の2つは動作していることに意味があるわけです。を模倣した関数を作成することは可能でしょうか?
member?
をSTkで使用することはできますか?ドキュメントを見ていたら、文字列、リスト、非負整数、その他もろもろの定義が
sequence
のデータ型がありますが、関連するシーケンス関数が見当たりません。
どのように解決するのですか?
を使用することができます。
sequence-ormap
を使用します。
(define (member? item seq)
(sequence-ormap (lambda (x)
(equal? item x))
seq))
テストに
> (member? 7 17)
#t
> (member? #\e "Hello")
#t
関連
最新
-
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 実装 サイバーパンク風ボタン