Skip to content
AEOWUN
Docs Menu

Basket

Look up basket calls and properties.

basket.len(b)

Count basket elements.

Arguments

b: basket.

Returns

The number of elements.

Works with

Baskets.

Missing values and errors

Wrong types or counts report an error.

Also available as: basket-value.len.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

debug.log(basket.len(["Key", "Map"]))

basket.create(count [, value])

Create a basket of a given length.

Arguments

count: non-negative whole number. Optional value: initial value; defaults to nil.

Returns

A new basket. Nested initial values are shared.

Works with

Baskets.

Missing values and errors

Invalid count or argument count reports an error.

Also available as: basket-value.create.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const values = basket.create(3, 0)
debug.log(values)

basket.insert(b, [position,] value)

Insert a value, or append it at the end.

Arguments

b: basket. position: optional zero-based index. value: any value.

Returns

nil; changes b.

Works with

Baskets.

Missing values and errors

Frozen baskets and indices greater than the length report an error.

Also available as: basket-value.insert.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const items = ["Key"]
basket.insert(items, "Map")
basket.insert(items, 0, "Sword")

basket.remove(b [, position])

Remove an element.

Arguments

b: basket. Optional zero-based position; defaults to the last element.

Returns

The removed value.

Works with

Baskets.

Missing values and errors

Empty or frozen baskets and out-of-range indices report an error.

Also available as: basket-value.remove.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const items = ["Key", "Map"]
debug.log(basket.remove(items))

basket.sort(b)

Sort values in ascending order.

Arguments

b: basket of numbers or a basket of strings.

Returns

nil; changes b.

Works with

Baskets.

Missing values and errors

Frozen baskets, mixed incomparable types, and custom comparator arguments report an error.

Also available as: basket-value.sort.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const values = [3, 1, 2]
basket.sort(values)
debug.log(values)

basket.clear(b)

Remove all elements.

Arguments

b: basket.

Returns

nil; changes b.

Works with

Baskets.

Missing values and errors

A frozen basket reports an error.

Also available as: basket-value.clear.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const items = ["Key"]
basket.clear(items)

basket.find(b, value [, init])

Find a value inside a basket.

Arguments

b: basket. value: value to compare. init: optional starting index, default 0.

Returns

The first matching index, or nil.

Works with

Baskets.

Missing values and errors

An initial index greater than the length reports an error. This does not find World objects.

Also available as: basket-value.find.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const items = ["Key", "Map"]
const index = basket.find(items, "Map")
if index != nil {
    debug.log(items[index])
}

basket.move(src, a, b, t [, dst])

Copy an inclusive range into a destination basket.

Arguments

src: basket. a and b: start and end indices. t: destination start. dst: optional basket; defaults to src.

Returns

nil. Copies values; does not remove source elements. The destination grows if needed.

Works with

Baskets.

Missing values and errors

Invalid ranges, a destination index greater than its length, or a frozen destination report an error. Overlapping ranges are safe.

Also available as: basket-value.move.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const values = [1, 2, 3]
basket.move(values, 0, 1, 1)
debug.log(values)

basket.concat(b [, separator [, i [, j]]])

Join basket values into text.

Arguments

b: basket. Separator: string, default empty. i and j: optional inclusive bounds.

Returns

A string. An empty basket returns an empty string.

Works with

Baskets.

Missing values and errors

Out-of-range or reversed bounds report an error.

Also available as: basket-value.concat.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

debug.log(basket.concat(["Key", "Map"], ", "))

basket.clone(b)

Copy the outer basket.

Arguments

b: basket.

Returns

A new unfrozen basket containing the same values. Nested baskets remain shared.

Works with

Baskets.

Missing values and errors

Wrong types or counts report an error.

Also available as: basket-value.clone.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const original = [1, 2]
const copy = basket.clone(original)
copy[0] = 99
debug.log(original[0])

basket.freeze(b)

Make a basket read-only.

Arguments

b: basket.

Returns

The same basket, now frozen.

Works with

Baskets.

Missing values and errors

Later attempts to change its contents report an error. Nested baskets are not frozen by this call.

Also available as: basket-value.freeze.

Method form also works on a basket value. For example, items.len() calls basket.len(items).

const values = basket.freeze([1, 2])
debug.log(values)

[BETA] marks features newer than the current public release. Current release: 0.8.0.