Erlang - Değişkenler

Erlang'da tüm değişkenler '=' ifadesiyle bağlıdır. Tüm değişkenlerin büyük harf karakteriyle başlaması gerekir. Diğer programlama dillerinde, '=' işareti atama için kullanılır, ancak Erlang durumunda kullanılmaz. Belirtildiği gibi, değişkenler '=' ifadesi kullanılarak tanımlanır.

Erlang'da dikkat edilmesi gereken önemli bir nokta, değişkenlerin değişmez olmasıdır; bu, değişkenin değerinin değişmesi için, yok edilmesi ve yeniden oluşturulması gerektiği anlamına gelir.

Erlang'daki aşağıdaki temel değişkenler son bölümde açıklanmıştır -

  • Numbers- Bu, bir tamsayıyı veya bir kayan noktayı temsil etmek için kullanılır. Bir örnek 10'dur.

  • Boolean - Bu, doğru veya yanlış olabilen bir Boole değerini temsil eder.

  • Bit String- Yazılmamış bellek alanını saklamak için bir bit dizesi kullanılır. Bir örnek << 40,50 >>.

  • Tuple- Demet, sabit sayıda terime sahip bileşik bir veri türüdür. Bir örnek {40,50}.

  • Map- Harita, değişken sayıda anahtar / değer ilişkisi içeren bileşik bir veri türüdür. Haritadaki her bir anahtar / değer ilişkisi, bir ilişkilendirme çifti olarak adlandırılır. Bir örnek, {tür => kişi, yaş => 25}.

  • List- Liste, değişken sayıda terim içeren bileşik bir veri türüdür. Bir örnek [40,40].

Değişken Beyanlar

Bir değişkeni tanımlamanın genel sözdizimi aşağıdaki gibidir -

Sözdizimi

var-name = var-value

Nerede,

  • var-name - Bu, değişkenin adıdır.

  • var-value - Bu, değişkene bağlı değerdir.

Aşağıda, değişken bildirimine bir örnek verilmiştir -

Misal

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

Yukarıdaki örnekte, 2 değişkenimiz var, biri 40 değerine bağlı X ve diğeri 50 değerine bağlı Y'dir. Sonuç olarak adlandırılan başka bir değişken, X ve Y'nin eklenmesine bağlıdır.

Yukarıdaki programın çıktısı -

Çıktı

90

Değişkenleri Adlandırma

Tartışıldığı gibi, değişken isimleri büyük harfle başlamalıdır. Küçük harflerle ifade edilen bir değişken örneğini ele alalım.

Misal

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

Yukarıdaki programı derlemeye çalışırsanız, aşağıdaki derleme zamanı hatasını alırsınız.

Çıktı

helloworld.erl:8: variable 'Result' is unbound

İkinci olarak, tüm değişkenler yalnızca bir kez atanabilir. Bir değişkeni birden fazla atama örneğini ele alalım.

Misal

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

Yukarıdaki programı derlemeye çalışırsanız, aşağıdaki derleme zamanı hatasını alırsınız.

Çıktı

helloworld.erl:6: Warning: variable 'Y' is unused
helloworld.erl:7: Warning: no clause will ever match
helloworld.erl:7: Warning: the guard for this clause evaluates to 'false'

Değişkenleri Yazdırma

Bu bölümde, yazdırma değişkenlerinin çeşitli işlevlerinin nasıl kullanılacağını tartışacağız.

İo: fwrite işlevini kullanma

Bunun (io: fwrite) yukarıdaki programların tümünde kullanıldığını görürdünüz. fwrite işlev, programdaki değişkenlerin değerini vermek için kullanılabilen 'io' modülünün veya Erlang'ın bir parçasıdır.

Aşağıdaki örnek, fwrite ifadesiyle kullanılabilecek birkaç parametreyi daha gösterir.

Misal

-module(helloworld). 
-export([start/0]). 

start() -> 
   X = 40.00, 
   Y = 50.00, 
   io:fwrite("~f~n",[X]), 
   io:fwrite("~e",[Y]).

Yukarıdaki programın çıktısı -

Çıktı

40.000000
5.00000e+1

Yukarıdaki program hakkında aşağıdaki işaretlere dikkat edilmelidir.

  • ~ - Bu karakter, çıktı için bazı biçimlendirmelerin yapılması gerektiğini sembolize eder.

  • ~f- Argüman, [-] ddd.ddd olarak yazılan bir kayan sayıdır; burada hassasiyet, ondalık noktadan sonraki basamak sayısıdır. Varsayılan hassasiyet 6'dır ve 1'den küçük olamaz.

  • ~n - Bu println yeni bir satıra.

  • ~e- Argüman, [-] d.ddde + -ddd olarak yazılan bir kayan nokta olup, burada hassasiyet, yazılan basamak sayısıdır. Varsayılan hassasiyet 6'dır ve 2'den az olamaz.