Erlang - Temel Sözdizimi
Erlang'ın temel sözdizimini anlamak için önce basit bir Hello World programı.
Misal
% hello world program
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("Hello, world!\n").
Yukarıdaki programla ilgili olarak aşağıdaki noktalara dikkat edilmesi gerekir -
% İşareti, programa yorum eklemek için kullanılır.
Module deyimi, herhangi bir programlama dilinde olduğu gibi bir ad alanı eklemek gibidir. İşte burada, bu kodun adı verilen bir modülün parçası olacağından bahsediyoruz.helloworld.
Dışa aktarma işlevi, program içinde tanımlanan herhangi bir işlevin kullanılabilmesi için kullanılır. Start adında bir fonksiyon tanımlıyoruz ve start fonksiyonunu kullanmak için export deyimini kullanmamız gerekiyor. /0 'start' fonksiyonumuzun 0 parametre kabul ettiği anlamına gelir.
Sonunda başlangıç işlevimizi tanımlıyoruz. Burada başka bir modül kullanıyoruzioErlang'da gerekli tüm Giriş Çıkış işlevlerine sahip. Kullandıkfwrite konsola "Merhaba Dünya" çıkışı için işlev.
Yukarıdaki programın çıktısı -
Çıktı
Hello, world!
Bir Beyanın Genel Şekli
Erlang'da Erlang dilinde farklı sembollerin kullanıldığını gördünüz. Basit bir Merhaba Dünya programından gördüklerimizi gözden geçirelim -
Kısa çizgi simgesi (–)genellikle modül, ithalat ve ihracat ifadesiyle birlikte kullanılır. Kısa çizgi sembolü, her ifadeye uygun şekilde anlam vermek için kullanılır. Merhaba dünya programından örnekler aşağıdaki programda gösterilmektedir -
-module(helloworld).
-export([start/0]).
Her ifade nokta ile sınırlandırılmıştır (.)sembol. Erlang'daki her ifadenin bu sınırlayıcıyla bitmesi gerekir. Merhaba dünya programından bir örnek aşağıdaki programda gösterildiği gibidir -
io:fwrite("Hello, world!\n").
Eğik çizgi (/) sembolü, fonksiyon tarafından kabul edilen parametre sayısını tanımlamak için fonksiyonla birlikte kullanılır.
-export([start/0]).
Modüller
Erlang'da tüm kod modüllere bölünmüştür. Bir modül, bir dizi öznitelik ve işlev bildiriminden oluşur. Tıpkı, farklı kod birimlerini mantıksal olarak ayırmak için kullanılan diğer programlama dillerindeki bir ad alanı kavramı gibidir.
Bir modül tanımlama
Modül tanımlayıcısı ile bir modül tanımlanır. Genel sözdizimi ve örnek aşağıdaki gibidir.
Sözdizimi
-module(ModuleName)
ModuleName dosya adı eksi uzantı ile aynı olması gerekir .erl. Aksi takdirde kod yüklemesi amaçlandığı gibi çalışmayacaktır.
Misal
-module(helloworld)
Bu Modüller sonraki bölümlerde ayrıntılı olarak ele alınacaktır, bu sadece size bir modülün nasıl tanımlanması gerektiği konusunda temel bir anlayış kazandırmak içindi.
Erlang'da İthalat İfadesi
Erlang'da, mevcut bir Erlang modülünün işlevselliğini kullanmak isterse, import deyimi kullanılabilir. Import ifadesinin genel formu aşağıdaki programda tasvir edilmiştir -
Misal
-import (modulename, [functionname/parameter]).
Nerede,
Modulename - Bu, içe aktarılması gereken modülün adıdır.
functionname/parameter - Modülde içe aktarılması gereken işlev.
Merhaba dünya programımızı yazma şeklimizi bir import ifadesi kullanacak şekilde değiştirelim. Örnek, aşağıdaki programda gösterildiği gibi olacaktır.
Misal
% hello world program
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).
start() ->
fwrite("Hello, world!\n").
Yukarıdaki kodda, 'io' kitaplığını ve özellikle de fwriteişlevi. Şimdi fwrite işlevini ne zaman çağırsak, bundan bahsetmek zorunda değiliz.io modül adı her yerde.
Erlang'daki anahtar kelimeler
Bir Anahtar Kelime, Erlang'da, amaçlandığı amaç dışında başka herhangi bir amaç için kullanılmaması gereken, ayrılmış bir kelimedir. Erlang'daki anahtar kelimelerin listesi aşağıdadır.
sonra | ve | ve ayrıca | grup |
başla | bnot | bor | bsl |
bsr | Bxor | durum | tutmak |
koşul | div | son | eğlence |
Eğer | İzin Vermek | değil | nın-nin |
veya | Orelse | teslim almak | rem |
Deneyin | ne zaman | Xor |
Yorumlar Erlang
Kodunuzu belgelemek için yorumlar kullanılır. Tek satır açıklamalar,%satırın herhangi bir yerinde sembolü. Aşağıda aynı şey için bir örnek var -
Misal
% hello world program
-module(helloworld).
% import function used to import the io module
-import(io,[fwrite/1]).
% export function used to ensure the start function can be accessed.
-export([start/0]).
start() ->
fwrite("Hello, world!\n").