Loading
slmap (連想配列の選択)
形式
slmap( $values, $keys, $dst)
引数
- $values: 連想配列
- $keys: 選択キー配列
- $dst: 結果連想配列
完了時の動作
- 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
- 常にバックトラックします。前の述語にバックトラックします。
説明
連想配列から、指定されたキーの値を取り出し、新しい連想配列を作成します。
つまり、
{ 'A' => 1, 'B' => 2, 'C' => 3 }
という連想配列があり、キーが'A','B'が欲しいとき、
{ 'A', 'B'}
という選択キー配列を与えて、slmapを実行させますと、
{'A' => 1, 'B' => 2}
という結果を得ることができます。
remapはDBライブラリと組み合わせて使用します。あるSQLの結果を用いて、select/insert等のDB述語を実行する場合にWHEREフィルターに必要なカラムを取り出す場合に、slmapを使用します。
コード例 (lib/remap.p)
,$x = { 'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4 }, slmap($x, { 'B', 'D'}).prt;
実行例
D:\sample\lib>adp slmap.p
{B => 2, D => 4}
Powered by ADP.