Я пытаюсь понять разницу между списками и Tuples в Elixir
. Из раздела Основные типы в Elixir Guides я понимаю, что:
- Списки хранятся в виде связанных элементов.
- Обновление списка выполняется быстро (только при добавлении)
- Элементы списка Fetching медленны
- Информация о наборе списка (размер/длина) медленная
- Элементы Tuple хранятся вместе
- Получение информации о Tuple быстро
- Элементы Fetching Tuple быстро
- Изменение кортежей дорого.
Хорошо, что все отлично, но я все еще не уверен, что использовать, когда. Я вижу, что большинство методов возвращают кортеж, но везде используются списки, и многие методы принимают списки как входные, а не кортежи. В соответствии с указанными выше пунктами не следует использовать Tuples для передачи данных вокруг, так как чтение из кортежа заданных пользователем значений будет быстрым?
Я также заметил, что Tuples не перечислимы, что с этим? Не использовал бы Enum
над ними быстрее, чем использовать его в списках?
Если кто-то может помочь мне понять их лучше, возможно, представив несколько примеров того, что использовать, когда это будет потрясающе.