cons ..... リストの先頭に要素を追加する関数

書式

cons(要素, リスト)

で用い、「リスト」の先頭に「要素」を追加したリストを返す。

(%i1) L: [1,2,3,4];

(%o1)                       [1, 2, 3, 4]


(%i2) cons(100, L);

(%o2)                     [100, 1, 2, 3, 4]


(%i3) cons([100], L);

(%o3)                    [[100], 1, 2, 3, 4]

追加した要素を削除するには、関数 rest や delete を用いる。

(%i4) M: cons(3, L);

(%o4)                      [3, 1, 2, 3, 4]


(%i5) rest(M, 1);

(%o5)                       [1, 2, 3, 4]


(%i6) delete(3, M, 1);

(%o6)                       [1, 2, 3, 4]
なお、rest は書式 rest(リスト, n) で用い、「リスト」の先頭から第 n 項までを取り除く関数であり、delete は書式 delete(要素, リスト, n) で用い、「リスト」に含まれる「要素」を先頭から n 個削除する関数である。

リストに要素を追加する際、先頭ではなく末尾に追加するには、関数 endcons を用いる。

(%i7) endcons(100, L);

(%o7)                     [1, 2, 3, 4, 100]

補足 cons は construct(構成する、組み立てる、建築する) の略。