Did you know ... | Search Documentation: |
Pack logtalk -- logtalk-3.85.0/docs/_sources/pairs_0.rst.txt |
.. index:: pairs .. _pairs/0:
.. rst-class:: right
object
pairs
Useful predicates over lists of pairs (key-value terms).
| Availability:
| logtalk_load(types(loader))
| Author: Paulo Moura | Version: 2:1:1 | Date: 2023-11-21
| Compilation flags:
| static, context_switching_calls
| Dependencies: | (none)
| Remarks:
types
library by using the goal logtalk_load(types(pairs))
.| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: keys_values/3 .. _pairs/0::keys_values/3:
keys_values/3 ^^^^^^^^^^^^^^^^^
Converts between a list of pairs and lists of keys and values. When converting to pairs, this predicate fails if the list of keys and the list of values have different lengths.
| Compilation flags:
| static
| Template:
| keys_values(Pairs,Keys,Values)
| Mode and number of proofs:
| keys_values(+list(pair),-list,-list)
- one
| keys_values(-list(pair),+list,+list)
- zero_or_one
.. index:: keys/2 .. _pairs/0::keys/2:
keys/2 ^^^^^^^^^^
Returns a list of keys from a list of pairs.
| Compilation flags:
| static
| Template:
| keys(Pairs,Keys)
| Mode and number of proofs:
| keys(+list(pair),-list)
- one
.. index:: key/2 .. _pairs/0::key/2:
key/2 ^^^^^^^^^
Enumerates by backtracking all keys from a list of pairs.
| Compilation flags:
| static
| Template:
| key(Pairs,Key)
| Mode and number of proofs:
| key(+list(pair),-term)
- zero_or_more
.. index:: values/2 .. _pairs/0::values/2:
values/2 ^^^^^^^^^^^^
Returns a list of values from a list of pairs.
| Compilation flags:
| static
| Template:
| values(Pairs,Values)
| Mode and number of proofs:
| values(+list(pair),-list)
- one
.. index:: value/3 .. _pairs/0::value/3:
value/3 ^^^^^^^^^^^
Returns a value addressed by the given path (a key or a list of keys in the case of nested list of pairs). Fails if path does not exist.
| Compilation flags:
| static
| Template:
| value(Pairs,Path,Value)
| Mode and number of proofs:
| value(+list(pair),+term,-term)
- zero_or_one
| value(+list(pair),+list,-term)
- zero_or_one
.. index:: transpose/2 .. _pairs/0::transpose/2:
transpose/2 ^^^^^^^^^^^^^^^
Transposes a list of pairs by swapping each pair key and value. The relative order of the list elements is kept.
| Compilation flags:
| static
| Template:
| transpose(Pairs,TransposedPairs)
| Mode and number of proofs:
| transpose(+list(pair),-list(pair))
- one
.. index:: group_sorted_by_key/2 .. _pairs/0::group_sorted_by_key/2:
group_sorted_by_key/2 ^^^^^^^^^^^^^^^^^^^^^^^^^
Groups pairs by key by sorting them and then constructing new pairs by grouping all values for a given key in a list. Keys are compared using equality. Relative order of values per key is kept. Resulting list of pairs is sorted by key.
| Compilation flags:
| static
| Template:
| group_sorted_by_key(Pairs,Groups)
| Mode and number of proofs:
| group_sorted_by_key(+list(pair),-list(pair))
- one
.. index:: group_consecutive_by_key/2 .. _pairs/0::group_consecutive_by_key/2:
group_consecutive_by_key/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Groups pairs by constructing new pairs by grouping all values for consecutive key in a list. Keys are compared using equality. The relative order of the values for the same key is kept.
| Compilation flags:
| static
| Template:
| group_consecutive_by_key(Pairs,Groups)
| Mode and number of proofs:
| group_consecutive_by_key(+list(pair),-list(pair))
- one
.. index:: group_by_key/2 .. _pairs/0::group_by_key/2:
group_by_key/2 ^^^^^^^^^^^^^^^^^^
Same as the group_sorted_by_key/2 predicate. Deprecated.
| Compilation flags:
| static
| Template:
| group_by_key(Pairs,Groups)
| Mode and number of proofs:
| group_by_key(+list(pair),-list(pair))
- one
.. index:: map/3 .. _pairs/0::map/3:
map/3 ^^^^^^^^^
Maps a list into pairs using a closure that applies to each list element to compute its key.
| Compilation flags:
| static
| Template:
| map(Closure,List,Pairs)
| Meta-predicate template:
| map(2,*,*)
| Mode and number of proofs:
| map(@callable,+list,-list(pair))
- one
(none)
(none)
(none)