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) […]

Posted 15.11.2012 | erlang | Still no comments | Read →

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

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

Posted 8.11.2012 | erlang | Still no comments | Read →

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> […]

Posted 20.10.2012 | erlang | 2 comments | Read →

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: […]

Posted 10.10.2012 | erlang | 6 comments | Read →

Мобильные интерфейсы

Мы с командой пишем небольшое мобильное приложение. Было любопытно узнать что неспотря на всю бурность развития мобильных приложений, классических интерфейсных решений очень мало, при чем с планшетами дело обстоит даже хуже чем с телефонами. Поэтому хочу поделиться неплохим набором паттернов пользовательского интерфейса для iOS и Android. Android Android Interaction Design Patterns Android Patterns iOS Inspired […]

Posted 8.10.2012 | links, programming | 11 comments | Read →

Почему Erlang?

В нескольких последних проектах у нас были довольно жесткие требования по производительности и отказоустойчивости, и как следствие мы усложняли архитектуру, перекладывая часть работы на демоны, оставляя php только роль веб-фронтенда. Для демонов php принципиально не подходит, потому как работа с многопоточностью, всякого рода блокировками и утечками памяти это отдельная головная боль, которую приходится лечить вместо […]

Секрет успеха

Кажется, секрет успеха найден. Подробности в занимательной инфографике:

Posted 4.01.2012 | motivation | 3 comments | Read →

Маленькие хитрости и трюки с Amazon Kindle

Снимок экрана можно сделать по комбинации клавиш Alt-Shift-G Комбинация клавиш Alt-M запускает встроенную игру «минер» Если вы зальете фотографии на устройство, их можно будет просматривать Если вы читаете новости или проверяете почту через веб, лучше использовать мобильные версии, например m.gmail.com Не забывайте выключать wifi, он значительно быстрее разряжает батарею Отсылайте на свой имейл ваше-имя@free.kindle.com книги и документы и они автоматически попадут вам на читалку в сконвертированном виде […]

Posted 25.09.2011 | books | 5 comments | Read →

About project

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


Experiments

Polish-Russian Dictionary

Polish-Russian Bot

Russian-english dictionary

English-Russian Android dictionary

Kropivnitsky mobile guide

Weather widget for Windows

https://github.com/mrjazz/

Categories