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. Optionalvalue: 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-basedposition; 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.aandb: 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.iandj: 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.