配列

Topへ

配列を操作するためのビルトイン群です。

配列は、要素を{}で囲むことによって直接プログラム中に記述できます。

また、要素数の等しいリストとユニフィケーション可能です。

例:

(test)-->
    (= *a {1 2 3}), //配列生成
    (array *a), //型チェック
    (= *b (? ? ?)),
    (= *a *b), //リストとのユニフィケーション
    (print *b).

 

述語名/引数  (createArray *array *num)
(createArray *array *list)
要約 新しい配列を作成します。
互換性 Win/Unix
引数 *array [out] 新しい配列
*num [in] 配列の要素数
*list [in] 配列を作るためのリスト。
成功/失敗 true  配列の作成に成功し、*arrayとのマッチングに成功した。
false 上記以外
解説 前者の形式では、新しい配列の要素はニル()です。

後者の形式では、与えられたリストと同じ要素を持つ配列が作成されます。要素が確定していないリストが渡された場合は、確定している部分のみから配列が作られます。

例:(1 2 3 4 | ?)が与えられた場合、{1 2 3 4}が作られる。

 

述語名/引数  (getArrayElement *array *i *o)
要約 配列の要素を取得します。
互換性 Win/Unix
引数 *array [in] 配列
*i [in] 配列のインデックス
*o [out] 配列の要素
成功/失敗 true  要素の取得に成功し、*oとのマッチングに成功した。
false 上記以外
解説 *iには0から始まる整数を与えます。

 

述語名/引数  (setArrayElement *array *i *o)
要約 配列の要素をセットします。
互換性 Win/Unix
引数 *array [in] 配列
*i [in] 配列のインデックス
*o [out] 配列の要素
成功/失敗 true  要素のセットに成功した。
false 上記以外
解説 *iには0から始まる整数を与えます。

 

述語名/引数  (resizeArray *array *s)
要約 配列の要素数を設定します。
互換性 Win/Unix
引数 *array [in] 配列
*s [in] 要素数
成功/失敗 true  要素数の変更に成功した。
false 上記以外
解説 *sで指定された値が変更前の要素数より大きい場合は追加された要素はニルになります。

 

述語名/引数  (getArraySize *array *s)
要約 配列の要素数を取得します。
互換性 Win/Unix
引数 *array [in] 配列
*s [out] 要素数
成功/失敗 true  要素数の取得に成功し*sとのマッチングに成功した。
false 上記以外
解説  

 

述語名/引数  (insertArrayElement *array *i *o)
要約 配列に要素を挿入します。
互換性 Win/Unix
引数 *array [in] 配列
*i [in] 配列のインデックス
*o [in] 配列の要素
成功/失敗 true  要素のセットに成功した。
false 上記以外
解説 *iには0から始まる整数を与えます。*oで指定されたオブジェクトは*iが指定する要素の直前に挿入されます。

 

述語名/引数  (eraseArrayElement *array *i)
要約 配列の要素を削除します。
互換性 Win/Unix
引数 *array [in] 配列
*i [in] 配列のインデックス
成功/失敗 true  要素の削除に成功した。
false 上記以外
解説 *iには0から始まる整数を与えます。