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
- append(tuple, value)
-
Inserts an element at the end of a tuple
- delete_at(tuple, index)
-
Removes an element from a tuple
- duplicate(data, size)
-
Creates a new tuple
- insert_at(tuple, index, value)
-
Inserts an element into a tuple
- to_list(tuple)
-
Converts a tuple to a list
Functions
append(tuple, value)
append(tuple, term) :: tuple
Inserts an element at the end of a tuple.
Returns a new tuple with the element appended at the end, 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)
delete_at(tuple, non_neg_integer) :: tuple
Removes an element from a tuple.
Deletes the element at the given index
from tuple
. Raises an ArgumentError
if index
is negative or greater than or equal to the length of tuple
. Index is zero-based.
Inlined by the compiler.
Examples
iex> tuple = {:foo, :bar, :baz} iex> Tuple.delete_at(tuple, 0) {:bar, :baz}
duplicate(data, size)
duplicate(term, non_neg_integer) :: tuple
Creates a new tuple.
Creates a tuple of 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)
insert_at(tuple, non_neg_integer, term) :: tuple
Inserts an element into a tuple.
Inserts value
into tuple
at the given index
. Raises an ArgumentError
if index
is negative or greater than the length of tuple
. Index is zero-based.
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)
to_list(tuple) :: list
Converts a tuple to a list.
Returns a new list with all the tuple elements.
Inlined by the compiler.
Examples
iex> tuple = {:foo, :bar, :baz} iex> Tuple.to_list(tuple) [:foo, :bar, :baz]
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Tuple.html