• リストを扱う3つの基本関数

null 空リストかどうかを判定
tl リストの先頭部分を除いた残りのリストtailを返す関数
hd リストの先頭部分headを返す関数

これらは、標準で定義されているので、
my_null my_tl my_hdとして、関数を定義せよ。(問1)
(ヒント:空リストは [] or nil
     空でないリストのパターンマッチング (h::t)
     要素が一個のパターンマッチング [x])

問2 次の関数を定義せよ。
length リストの長さ(要素の数)を示す関数
sumList リストの値(整数)の合計値を示す関数
member ある要素がリストに含まれているかどうかを判定する関数
(ヒント:length については、hd で先頭部分があれば、1を加え、
 (1だけを加えるケースと1を加えて、recursiveに定義するケースとがある。)
  、[]になれば0を加える。ケース分けは3つ。)

問3 次の関数を定義せよ。
plus 2つのリストを合わせて、新たなリストを返す関数。
例) plus [1,2,3] [4,5,6] -> [1,2,3,4,5,6]

名前:
コメント:

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2007年03月10日 21:10