go: cuelang.org/go/pkg/list Index | Files

package list

import "cuelang.org/go/pkg/list"

Package list contains functions for manipulating and examining lists.


Package Files

list.go math.go pkg.go sort.go

func Avg Uses

func Avg(xs []*internal.Decimal) (*internal.Decimal, error)

Avg returns the average value of a non empty list xs.

func Concat Uses

func Concat(a []cue.Value) ([]cue.Value, error)

Concat takes a list of lists and concatenates them.

Concat([a, b, c]) is equivalent to

[ for x in a {x}, for x in b {x}, for x in c {x} ]

func Contains Uses

func Contains(a []cue.Value, v cue.Value) bool

Contains reports whether v is contained in a. The value must be a comparable value.

func Drop Uses

func Drop(x []cue.Value, n int) ([]cue.Value, error)

Drop reports the suffix of list x after the first n elements, or [] if n > len(x).

For instance:

Drop([1, 2, 3, 4], 2)

results in

[3, 4]

func FlattenN Uses

func FlattenN(xs cue.Value, depth int) ([]cue.Value, error)

FlattenN reports a flattend sequence of the list xs by expanding any elements depth levels deep. If depth is negative all elements are expanded.

For instance:

FlattenN([1, [[2, 3], []], [4]], 1)

results in

[1, [2, 3], [], 4]

func IsSorted Uses

func IsSorted(list []cue.Value, cmp cue.Value) bool

IsSorted tests whether a list is sorted.

See Sort for an example comparator.

func IsSortedStrings Uses

func IsSortedStrings(a []string) bool

IsSortedStrings tests whether a list is a sorted lists of strings.

func Max Uses

func Max(xs []*internal.Decimal) (*internal.Decimal, error)

Max returns the maximum value of a non empty list xs.

func MaxItems Uses

func MaxItems(a []cue.Value, n int) bool

MaxItems reports whether a has at most n items.

func Min Uses

func Min(xs []*internal.Decimal) (*internal.Decimal, error)

Min returns the minimum value of a non empty list xs.

func MinItems Uses

func MinItems(a []cue.Value, n int) bool

MinItems reports whether a has at least n items.

func Product Uses

func Product(xs []*internal.Decimal) (*internal.Decimal, error)

Product returns the product of a non empty list xs.

func Range Uses

func Range(start, limit, step *internal.Decimal) ([]*internal.Decimal, error)

Range generates a list of numbers using a start value, a limit value, and a step value.

For instance:

Range(0, 5, 2)

results in

[0, 2, 4]

func Repeat Uses

func Repeat(x []cue.Value, count int) ([]cue.Value, error)

Repeat returns a new list consisting of count copies of list x.

For instance:

Repeat([1, 2], 2)

results in

[1, 2, 1, 2]

func Slice Uses

func Slice(x []cue.Value, i, j int) ([]cue.Value, error)

Slice extracts the consecutive elements from list x starting from position i up till, but not including, position j, where 0 <= i < j <= len(x).

For instance:

Slice([1, 2, 3, 4], 1, 3)

results in

[2, 3]

func Sort Uses

func Sort(list []cue.Value, cmp cue.Value) (sorted []cue.Value, err error)

Sort sorts data while keeping the original order of equal elements. It does O(n*log(n)) comparisons.

cmp is a struct of the form {T: _, x: T, y: T, less: bool}, where less should reflect x < y.


Sort([2, 3, 1], list.Ascending)

Sort{{a: 2}, {a: 3}, {a: 1}, {x: {}, y: {}, less: x.a < y.a}}

func SortStable Uses

func SortStable(list []cue.Value, cmp cue.Value) (sorted []cue.Value, err error)

Deprecated: use Sort, which is always stable

func SortStrings Uses

func SortStrings(a []string) []string

Strings sorts a list of strings in increasing order.

func Sum Uses

func Sum(xs []*internal.Decimal) (*internal.Decimal, error)

Sum returns the sum of a list non empty xs.

func Take Uses

func Take(x []cue.Value, n int) ([]cue.Value, error)

Take reports the prefix of length n of list x, or x itself if n > len(x).

For instance:

Take([1, 2, 3, 4], 2)

results in

[1, 2]

func UniqueItems Uses

func UniqueItems(a []cue.Value) bool

UniqueItems reports whether all elements in the list are unique.

Package list imports 7 packages (graph) and is imported by 2 packages. Updated 2021-01-24. Refresh now. Tools for package owners.