Erlang. Упражнения (продолжение). Сортировка.

Sorting Lists. Quicksort.

Erlang. Упражнения (продолжение). Манипулирование списками.

Manipulating Lists

Erlang. Упражнения (продолжение).

Database Handling Using Lists

Erlang. Упражнения.

В рамках программы изучения Erlang я делаю упражнения из книги «Erlang programming» Франческо Чезарини и Саймона Томпсона. Оказалось что это на редкость полезное занятие, — теперь синтаксис не кажется таким уж страшным, и решение хоть и простых, но практических задач, придает уверенности в себе. Ниже я приведу условия задачи (уж простите, без перевода) и свой […]

Erlang. Операции if/then/else/case.

Операции if/then/else Напишем несложную функцию, находящую максимальный элемент массива: -module(test). -export([list_max/1]). list_max([]) -> []; list_max([Head | Rest]) -> list_max(Head, Rest). list_max(Head, []) -> Head; list_max(Head, [NewHead | List]) -> if Head > NewHead -> list_max(Head, List); true -> list_max(NewHead, List) end. 1> c(test.erl). {ok,test} 2> test:list_max([1,2,3,4,5]). 5 Первое, на что стоит обратить — аналог оператора […]

Erlang. Функции. Модули.

Функции Понятно что это такое, понятно для чего они используются. В erlang функции это все. Они вызываются, передаются в качестве аргументов, создаются другими функциями. Давайте определим, для примера, бесполезную функцию считающую произведение двух чисел: mul(A, B) -> A * B. В консоли такой синтаксис работать не будет, но можно изощрться создать через лямбда-функцию: 1> F = fun(A, B) […]

Сопоставление.

Сопоставление (pattern matching) Сопоставление или pattern matching, это еще один способ присвоения, извлечения значений из списков или кортежей. Работает это так — сравнивается две переменные, если они не эквивалентны по типу или по значению возникнет исключение (ошибка). Если они равны, но отличаются только в переменных, то переменным в левой части выражения будет присвоено соответстветствующие значения […]

Erlang. Строки. Работа со списками.

Strings (строки) Символы в erlang представляются целыми числами, а строки — списками числовых значений ASCII символов. Это связано с тем что erlang пришел из телекома, а там, работа со строками это почти экзотика. Поскольку символы это ASCII, то в 32х разрядной версии для сравнения символа в памяти используется два байта, а в x64 — четыре, […]

Erlang. Tuples, Lists.

Tuples (кортежи) Кортежи встречаются не во многих языках. Это своего рода контейнеры, которые могут содержать другие типы. Их часто сравнивают со структурами в C, только поля кортежа не имею имени. Несколько примеров: {1,2,3}. {a, b,c}. {}. {true, false}. {{1, 2, 3}, {one, two, three}, {«One», «Two», «Three»}}}. И несколько функций, для работы с кортежами: 1> […]

Создано 20.10.2012 | erlang | 2 комментариев | Читать →

Erlang. Операторы. Atoms, Integers, Booleans.

Математические операторы Тип Описание Тип данных + Сложение (addition) Integer | Float — Вычитание (substraction) Integer | Float * Умножение (multiplication) Integer | Float / Деление с плавающей запятой (floating point division) Integer | Float div Деление нацело (integer division) Integer rem Остаток от деления (integer remainder) Integer Примеры использования математических операторов в консоли erlang: […]

Создано 10.10.2012 | erlang | 6 комментариев | Читать →

О проекте

Этот блог для тех кому интересен современный интернет бизнес, практики и подходы в управлении проектами, интернет маркетинг, современные технологии, стартапы и личная эффективность. Более подробно обо мне и об этом блоге можно почитать здесь.


Эксперименты

https://github.com/mrjazz/

Англо-русский словарь для Android

Мобильный гид по Кировограду для Android

Погодный виджет для Windows

Категории