Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

tuple

Derived from Koto documentation (MIT, github.com/koto-lang/koto), maintained for koto-calc.

contains

|Tuple, value: Any| -> Bool

Returns true if the tuple contains a value that matches the input value.

Matching is performed with the == equality operator.

Example

print! (1, "hello", [99, -1]).contains "hello"
check! true

print! ("goodbye", 123).contains "hello"
check! false

first

|Tuple| -> Any?

Returns the first value in the tuple, or null if the tuple is empty.

Example

x = 99, -1, 42
print! x.first()
check! 99

print! ().first()
check! null

get

|Tuple, index: Number| -> Any?
|Tuple, index: Number, default: Any| -> Any?

Gets the Nth value in the tuple. If the tuple doesn’t contain a value at that position then the provided default value is returned. If no default value is provided then null is returned.

Example

x = 99, -1, 42

print! x.get 1
check! -1

print! x.get -1
check! null

print! x.get 5, "abc"
check! abc

is_empty

|Tuple| -> Bool

Returns true if the tuple has a size of zero, and false otherwise.

Example

print! ().is_empty()
check! true

print! (1, 2, 3).is_empty()
check! false

last

|Tuple| -> Any?

Returns the last value in the tuple, or null if the tuple is empty.

Example

x = 99, -1, 42
print! x.last()
check! 42

print! (,).last()
check! null

sort_copy

|Tuple| -> Tuple

Returns a sorted copy of the tuple.

|List, key: |Any| -> Any| -> List

Returns a sorted copy of the tuple, based on the output of calling a key function for each of the tuple’s elements.

The key function’s result is cached, so it’s only called once per value.

Example

x = (1, -1, 99, 42)
y = x.sort_copy()
print! y
check! (-1, 1, 42, 99)

print! x # x remains untouched
check! (1, -1, 99, 42)

# Sort in reverse order by using a key function
print! x.sort_copy |n| -n
check! (99, 42, 1, -1)

to_list

|Tuple| -> List

Returns a copy of the tuple’s data as a list.

Example

print! (1, 2, 3).to_list()
check! [1, 2, 3]