数字、文字列を扱えるデータの集合です
car で先頭の一つを得る
cdr で先頭以外の残り全体のリストを得る
cons でペア・リストを作る
Schemeではリストに対して何らかの繰り返し処理を扱うには
高階関数を使うか再帰を使うのが一般的です
リストはペアでできたデータ構造を連結したもので
(データ 次のリストへのポインタ)
というペアをつなげて再帰的なデータ構造をしています
car で先頭の一つを得る
cdr で先頭以外の残り全体のリストを得る
cons でペア・リストを作る
Schemeではリストに対して何らかの繰り返し処理を扱うには
高階関数を使うか再帰を使うのが一般的です
リストはペアでできたデータ構造を連結したもので
(データ 次のリストへのポインタ)
というペアをつなげて再帰的なデータ構造をしています
(list num1 num2 ...)
listの後に要素を並べることでリストを作成します
listの代わりに ' クオートを使うこともできます
listの後に要素を並べることでリストを作成します
listの代わりに ' クオートを使うこともできます
(define ar1 (list 1 2 3 7 8 9)) (define ar2 '(10 5 8 9 5))
リストの最初以外の残りの要素を取り出す
読み方はクダー
読み方はクダー
(cdr リスト)例
(define ar2 '(10 5 8 9 5)) (print (cdr ar2)) >>(5 8 9 5)
2つの引数から新しいペアかリストを作成する
引数が2つともアトムだとペアが作られる
リストを作るには
第1引数はアトムかリストを指定
第2引数は必ずリストでなければならない
読み方はコンス
常に第1引数を第2引数のリストの先頭に付け加える形になることに注意
引数が2つともアトムだとペアが作られる
リストを作るには
第1引数はアトムかリストを指定
第2引数は必ずリストでなければならない
読み方はコンス
(cons 第一引数 第2引数)数字を加える
(cons 1 '(2 3)) >>'(1 2 3)第2引数がリストの場合
常に第1引数を第2引数のリストの先頭に付け加える形になることに注意
(cons '(1 2) '(3 5 7)) >>'((1 2) 3 5 7)
appendは2つのリストを合わせたリストを作成します
(append リスト1 リスト2)
(append リスト1 リスト2)
(define ar1 '(1 2 5)) (define ar2 '(6 7)) (append ar1 ar2) >>'(1 2 5 6 7)
(list-ref リスト n)
n+1番目の要素を返します
nは0から始まるので注意
n+1番目の要素を返します
nは0から始まるので注意
(define ar6 (list 1 2 3 7 8 9)) (list-ref ar6 0) >>1 (list-ref ar6 2) >>3
リストからある項を取り除く関数
(remove 項 リスト)
(define l1 '(1 2 3 4 5 6)) (print (remove 3 l1)) >'(1 2 4 5 6)
コメントをかく