Erlang. Tuples, Lists.

Tuples (кортежи)

Кортежи встречаются не во многих языках. Это своего рода контейнеры, которые могут содержать другие типы. Их часто сравнивают со структурами в C, только поля кортежа не имею имени. Несколько примеров:

{1,2,3}.
{a, b,c}.
{}.
{true, false}.
{{1, 2, 3}, {one, two, three}, {"One", "Two", "Three"}}}.

И несколько функций, для работы с кортежами:

1> tuple_size({one, {111, 222}, true, false, 3.1415}).
5
2> element(2, {one, {111, 222}, true, false, 3.1415}).
{111,222}
3> setelement(2, {one, {111, 222}, true, false, 3.1415}, result).
{one,result,true,false,3.1415}
4> {1, 2, 3} == {1, 2, 3}.
true
5> {1, 2, 4} > {1, 2, 3, 5}.
false
6> {0,0,0,0} > {1,1,1}.
true

Lists (списки)

Насколько я понимаю, разница между списками и кортежами в том как они обрабатываются, но это отдельная тема . Во всем остальном, они схожи, — содержат коллекции значений разных типов, не ограничены в размере и структуре:

1> [1,2,3].
[1,2,3]
2> [a, b,c].
[a,b,c]
3> [].
[]
4> [[1, 2, 3], [one, two, three], ["One", "Two", "Three"]].
[[1,2,3],[one,two,three],["One","Two","Three"]]
5> [1, 2] == [1, 2].
true
6> {1, 2, 4} > {1, 2, 3, 5}
true
7> [0,0,0,0] > [1,1,1].
false

Comments

comments

2 comments On Erlang. Tuples, Lists.

  • А где про выделение головы и тела списка?

  • Отличный комментарий. Я как раз сейчас обдумываю как написать об этом. Хочется чтобы было доходчиво и просто.

Leave a reply:

Site Footer

Sliding Sidebar

About Me

About Me

Для кого этот блог?

Для тех кого интересуют современные интернет технологи, IT бизнес, стартапы, менеджмент, контроль качества, личная эффективность, мотивация. Здесь я буду писать о том, что в первую очередь будет интересно мне, о проблемах и решениях. О том что пригодилось мне, и возможно будет интересно Вам.

Что заставило меня создать его?

Желание совершенствоваться. Достигать успеха. Находить людей со схожими проблемами и задачами, вместе искать выходы и решения.

Немного о себе.

Мой первый серьезный опыт в IT это работа над desktop приложениями в компании «Эксперт-Софт». У истоков её стояли несколько амбициозных и талантливых молодых людей, с огнем в глазах и желанием работать «как майкрософт». То чем мы там занимались вполне могли бы сегодня назвать «стартапом». Рук было откровенно мало, поэтому приходилось заниматься всем: кодированием на Delphi, написанием скриптов на VBA, дизайном, вёрсткой и поддержкой вебсайта, работой над рекламной полиграфией, проектированием интерфейсов и БД. Работы было много, но запал был велик, команда очень разношерстная, гармонично дополняя друг-друга в решении нетривиальных задач. Благодаря тому что пришлось попробовать многое, постепенно вырисовалось понимание того чем хочется заниматься, и как. Софтверным программированием я был сыт по горло. Массы проблем десктопного софта в вебе просто не было, по определению. Зато был четкий фокус на дизайне, юзабилити, скорости. Поэтому когда пришла пора уходить из «Эксперт-Софт», я без всякого сожаления стал искать работу как разработчик для web. Поскольку городишко у нас не очень большой, выбор был практически предопределен. Так я стал работать в «Оникс-Системз», где и продолжаю работать поныне. За время работы в компании я как разработчик принимал участие в работе над несколькими десятками проектов. Несколько десятков проектов было сделано мною как фрилансером. Самым большим проектом в котором я сыграл роль менеджера, считаю свою семью. Также довольно большой проект мы сейчас поднимаем с командой разработчиков (на данный момент команда состоит из четырех php разработчиков, одного flex кодера и тестировщика). Отсюда, большой интерес к современным практикам и методологиям, разным подходам в управлении командой, повышению эффективности и качества работы. По мере сил, вдохновения и свободного времени, я буду писать об этом.

Если у Вас возникли какие-то вопросы ко мне лично, буду рад если Вы свяжетесь со мной:

e-mail:
skype: denis.sheremetov
Старый сайт, с музычкой и флешом

Прочая онлайновая деятельность: