Запознайте се, Erlang

Erlang език за програмиране, първото запознаване.

Защо се нарича на езика Erlang?

Erlang е често по-нататък Erlang / OTP. Тук OTP означава Open Platform Telecom (отворен телекомуникационна платформа) и представлява набор от библиотечни модули, които се доставят с Erlang и подходи за разработване на приложения. По-голямата част от приложения с отворен код, като се използва Erlang, като ejabberd, CouchDB и MochiWeb, използвайте OTP.

Erlang - това е общ език за програмиране цел и среда за изпълнение, както добре. Въпреки Erlang като език доста атрактивна сама по себе си, неговата реална власт се проявява във връзка с Runtime Environment (виртуална машина) и идва с библиотека С. Помислете за основните характеристики на Erlang:

Много търговски компании използват Erlang в своите проекти, като например:

Erlang се използва също и в проекти с отворен код, като например:

  • Ejabberd, Instant Messaging услуга, която използва протокола XMPP, написани на Erlang.
  • Erlang се използва за създаване на база данни за съхранение на документи на CouchDB.

Преди началото на изследването Erlang трябва да сте сигурни, че той е инсталиран във вашата операционна система. Опитайте се да пишете в Ерл на команди:

За Windows Ерл обаждане от командния ред работи само ако променливата от обкръжението добавя към пътя на програмата. В случай на стандартната инсталация за Windows Erlang обвивката команди може да се стартира от менюто Старт> Всички програми> Erlang OTP.

Erlang обвивка може да се използва за интерактивни сесии и изпълнение на езикови изрази. Изпълнение на командния Ерл (или през менюто Старт на Windows, както е описано по-горе) и напишете няколко команди:

Помислете за първите ни подробности сесия:

Черупката е доста мощен инструмент, когато се работи с Erlang. Също така поддържат изрази вход история команда (например, ключови комбинации Ctrl + Р и Ctrl + N се използват за навигация чрез команди въведени преди), множество команди за редактиране и множество помощни функции, които могат да се разглеждат помощ () команда. В допълнение, черупката ви дава възможност да се присъедините към изпълнявана програма Erlang, дори и на отдалечени обекти (в този случай, тъй като има способността да се използва автоматично защитена връзка чрез SSH) и др.

Трябва да се отбележи, че черупката ви позволява да само израз Erlang, но това не може да се използва за въвеждане на други езикови конструкции, които ще се разглеждат по-долу.

За изход на обвивката може да се използва функцията на вградената спиране ():

Ако черупката не реагира (или по друг начин към нормалния изход), можете да прекратите, като натиснете Ctrl + C (или Ctrl + Break на Windows), а след това ще се появи:

И сега за изпълнението на прекъсване да натиснете.

След като сме се научили да работят в черупка Erlang, обърнете внимание на основни езикови конструкции.

Както и в много езици, аритметични изрази Erlang следват обичайните правила за аритметични изрази, като например 1 + 2 * 3 се изчислява като 1 + (2 х 3).

Целите числа могат да бъдат от произволен размер, и не е необходимо да се притеснявате за аритметично препълване. Проверете го на практика:

Освен цяло може да се прилага в различни брой системи, използващи следната форма:

Тук ние въведохме броя 10 в десетичен, шестнадесетичен и бинарни системи.

Можете да използвате нотацията като се започне с $ символ, за да въведете кодовете характер:

Числа с плаваща запетая могат да се прилагат в следните формати:

За плаваща запетая Erlang използва представяне на 64-битова, съответстваща на стандарта IEEE 754-1985.

Имената на променливите в Erlang трябва да започват с главна буква, както в следния пример:

В първия ред присвояваме стойността на променлив брой 123456789 X и след това стойността на продукцията на черупката. След това ние се получи стойността на дадена променлива и да го използвате в аритметична операция.

Но в същото време стойността на Erlang може да бъде назначен само веднъж. Продължавайки този пример:

Какво става тук? Строго погледнато, операторът на = в Erlang не е оператор за присвояване, а операторът е сравнение с шаблон. Тук, ако променливата в настоящия обхват все още не се присвоява стойност = действа като оператор за присвояване, в противен случай = сравнява стойността с шаблона.

В сравнение с първия модел изчислява дясната страна на изразяване, а след това се сравнява с модела от лявата страна. В последния пример, променливата х е най-простата форма на шаблона. В този случай, съвпадение модел ще бъде успешна само ако стойността на дясната страна на израза е 123456789:

Заданието за еднократна употреба премахва разработчик от огромен клас от грешки, свързани с неправилна стойност на променливата, които в противен случай биха могли да се променят някъде между първия и израз на поръчката, в които той се използва. Освен това, това поведение е координиран с математически нотация, когато няма формула на формата X = X + 1.

В Erlang атоми са използвани за представяне на глобални не-цифрови константи. В сравнение с други езици може да бъде представен атома като елементи в списъци тип данни. Стойността на атом е самата атом, и само действието на атома - това сравнение.

Атомите трябва да започват с малка буква (както вече по-горе, променливите трябва да започват с главна буква, така че те да не се припокриват с атомите), евентуално последвано от букви, цифри, # 64; и _ (точка може да се използва в атомите, въпреки че не се поддържа от разширяването на езика). При използване на апостроф ( ') почти всеки код може да бъде използван за атома. Примери на атома:

Въпреки Erlang не отделен булева тип, с конвенция, използвана за този истински атоми и failse:

Имайте предвид, че на втория ред, ние сравнихме двата атома, за сравнение, която се използва за лексикографското ред. Като се започне от третия ред, ние приложихме is_boolean вградена функция (вградена функция, BIF), който се връща истина, или лъжа в зависимост от вида на аргумент.

Кортеж - комбиниран тип данни, която се използва за съхранение на свързани елементи в единен набор. Кортежи са създадени с помощта на скоби и техните елементи са разделени със запетая. Като елементи от кортеж може да действа Erlang всички типове данни, като например:

Според споразумението, ако първият елемент от кортеж атом, той се нарича етикет, въпреки че не прави разлика този кортеж от други кортежи. С използването на такива етикети могат да създават свои собствени типове данни, като например:

Такива етикети улеснят извличането на информация от кортеж с помощта на операция сравнение с шаблон:

Ето - това е по-сложен модел от този, който се използва по-горе, се определя на променливата X и Y стойности от 10 и 20, съответно. В ред 4, използвахме анонимен променлива (_), които не са възложени на стойност и може да се използва няколко пъти в шаблона. В съответствие 6, когато се опитвате да използвате шаблона, ще получите съобщение за грешка, тъй като моделът не е същото като кортеж правото на изразяване.

Освен това, с помощта на вградени функции може да работи с отделни елементи на кортежи, например, за да получи елементи на индекс (започвайки от 1):

Списъци като кортежи - композитен тип данни, който може да съдържа всякакъв вид данни Erlang, но за разлика кортежи списъци се обработват изцяло различен начин и се използват за съхранение на данни, броят на които варира. Списъци са създадени с помощта на квадратни скоби, и елементите са разделени със запетая, например:

Първият елемент на списъка (в този пример - е 1) се нарича списъка връх и останалите елементи - списък опашката. При обработването на списъците на най-ефективна работа - е да се работи с горната част на списъка, който се поддържа в Erlang след строителство: [начало | опашка]. Тук връх - елемент или съвкупност от елементи, за да бъдат добавени или премахнати от списъка, а опашката - в списъка с елементи за добавяне или изтриване на списък, след като на срещата на върха. Вижте един пример:

Тук ние създадохме Списък, след това се добавя и неговите топ два елемента, образувайки нов списък Range. Тогава ние се отделят един от елементите от горната част на списъка, да го запишете като ръководител.

Строго погледнато, не съществува отделен Erlang тип данни за струни, струни се изпълняват просто като списък от цели числа. За по-удобна работа низ може да бъде създаден с помощта на двойни кавички, тъй като в този пример:

От тези примери се вижда, че линиите и списъците с числа - едно и също нещо:

Има = = сравнява два елемента.

За ефективно съхраняване на двоични данни, се препоръчва да се използва двоичен тип данни. Binary тип данни се състои от набор от числа в обхвата 0-255 (или съответния символ) и е представен като се използват две ъглови скоби:

Тази статия е обсъдено накратко основните характеристики и основните понятия на Erlang език за програмиране. По-подробна информация за езика, може да се намери в документацията, намираща се на официалния сайт и други сайтове, които описват Erlang. Ето някои полезни сайтове:

В следващата статия ще разгледаме последователността на програмиране в Erlang