Renderingla

summa

Returns the sum of numeric list elements.

Syntax: <lista>.summa()

Category

collection

Related

Examples

examples/corpus/lista/methodi-functionales.fab (canonical · existing-home)

Returns the sum of numeric list elements.

# lista<T> higher-order intrinsics
#
# res.filtrata(T x ∴ <pred>)                        -- filter
# res.mappata(T x ∴ <expr>)                         -- map
# res.reducta((acc, x) ∴ <expr>, init)              -- fold
#
# GRAMMAR:
#   listMethod :← expr '.' ('filtrata' | 'mappata' | 'reducta') '(' closure ')'
#
# EXPECTED OUTPUT:
#   [2, 4]
#   [2, 4, 6, 8, 10]
#   15
#
# BACKEND: Go e2e whitelist — lista intrinsic methods not yet lowered for Go
# (whitelist: lista/methodi-functionales.fab).

incipit {
    fixum _ res ← [1, 2, 3, 4, 5] ∷ lista<numerus>

    fixum _ pares ← res.filtrata(numerus x ∴ x % 2 ≡ 0)
    fixum _ duplicata ← res.mappata(numerus x ∴ x * 2)
    fixum _ summa ← res.reducta((numerus collectus, numerus x) ∴ collectus + x, 0)

    nota pares
    nota duplicata
    nota summa
}

Expected output:

[2, 4]
[2, 4, 6, 8, 10]
15