[実習 2] List 処理関数の定義 List を処理する関数定義のパターン ( list.txt 参照 ) L が {} の処理を考える L の先頭の処理と残りの処理を考える 例 1 : リストの長さを求める lengthOfList[{}] := 0 lengthOfList[list] := lengthOfList[Rest[list]] + 1 例 2 : 要素を探す findOfMember[list_,member_] := findOfMember[list_,member_,1] (* 先頭から探す *) findOfMember[{},member_,pos_] := -1 (* みつからなかった *) findOfMember[list_,member_,pos_] := If[ member == First[list], pos, findOfMember[Rest[list],member,pos + 1]]