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]