Elixir v1.1.0 Tuple

Functions for working with tuples.

See also Kernel.elem/2, Kernel.is_tuple/1, Kernel.put_elem/3, and Kernel.tuple_size/1.

Summary

Functions

Inserts an element into the end of a tuple

Removes an element from a tuple

Creates a new tuple

Inserts an element into a tuple

Converts a tuple to a list

Functions

append(tuple, value)

Specs

append(tuple, term) :: tuple

Inserts an element into the end of a tuple.

Returns a new tuple which has one element more than tuple, and contains the elements in tuple followed by value as the last element.

Inlined by the compiler.

Examples

iex> tuple = {:foo, :bar}
iex> Tuple.append(tuple, :baz)
{:foo, :bar, :baz}
delete_at(tuple, index)

Specs

delete_at(tuple, non_neg_integer) :: tuple

Removes an element from a tuple.

Deletes the element at the zero-based index from tuple. Raises an ArgumentError if index is negative or greater than or equal to the length of tuple.

Inlined by the compiler.

Examples

iex> tuple = {:foo, :bar, :baz}
iex> Tuple.delete_at(tuple, 0)
{:bar, :baz}
duplicate(data, size)

Specs

duplicate(term, non_neg_integer) :: tuple

Creates a new tuple.

Creates a tuple of size size containing the given data at every position.

Inlined by the compiler.

Examples

iex> Tuple.duplicate(:hello, 3)
{:hello, :hello, :hello}
insert_at(tuple, index, value)

Specs

insert_at(tuple, non_neg_integer, term) :: tuple

Inserts an element into a tuple.

Inserts value into tuple at the given zero-based index. Raises an ArgumentError if index is negative or greater than the length of tuple.

Inlined by the compiler.

Examples

iex> tuple = {:bar, :baz}
iex> Tuple.insert_at(tuple, 0, :foo)
{:foo, :bar, :baz}
iex> Tuple.insert_at(tuple, 2, :bong)
{:bar, :baz, :bong}
to_list(tuple)

Specs

to_list(tuple) :: list

Converts a tuple to a list.

Inlined by the compiler.

Examples

iex> tuple = {:foo, :bar, :baz}
iex> Tuple.to_list(tuple)
[:foo, :bar, :baz]