Loading
each (リスト・配列からの要素の取得)
形式
each( $array,...,$item,...)
引数
- $array: リスト・配列(複数可)
- $item 取り出された要素(結果、複数可)
完了時の動作
- リスト・配列内に要素がある場合:次の述語を実行に移ります。
- リスト・配列内に要素が無い場合:バックトラックします。
バックトラック時の動作
- リスト・配列内に次の要素がある場合:次の述語を実行に移ります。
- リスト・配列内に次の要素が無い場合:バックトラックします。
説明
$arrayに示されたリスト・配列内の要素を一つずつ取り出し$itemに格納します。他の言語に見られるeachと同様の述語です。
複数のリストを同時に指定することにより、同時に1つずつ取り出すことが出来ます(例を参照)。
リスト・配列の要素の数が同一でない場合は、短い方の要素はNILで埋められます。
※each述語を使ってループを構成する場合、next述語と組み合わせて使用します。
コード例1(lib/each1.p)
,each({ 'a', 'b', 'c'}, $item), prtn($item), next;
実行例1
D:\sample\lib>adp each1.p
a
b
c
コード例2(lib/each2.p)
,each({ 1, 2, 3, 4}, { 'A', 'B', 'C'}, $item1, $item2)
,prtn($item1,':',$item2)
,next;
実行例2
D:\sample\lib>adp each2.p
1:A
2:B
3:C
4:NIL
Powered by ADP.