English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

المتغيرات في Erlang

在Erlang,所有的变量都与‘ =’语句绑定。所有变量都需要以大写字母开头。在其他编程语言中,“ =”符号用于赋值,但不适用于Erlang。如前所述,变量是通过使用‘ =’语句定义的。

在Erlang中要注意的一件事是变量是不可变的,这意味着为了更改变量的值,需要将其销毁并重新创建。

上一章介绍了Erlang中的以下基本变量-

  • Numbers−يُستخدم لتمثيل الأعداد الصحيحة أو العدد العشري. على سبيل المثال: 10.

  • الحقيقي −يُمثل القيمة الحالية، يمكن أن يكون true أو false.

  • النص الثنائي−استخدم النص الثنائي لتخزين منطقة ذاكرة غير النوعية. على سبيل المثال: << 40,50 >>.

  • الزوج−الزوج هو نوع بيانات مركب يحتوي على عدد ثابت من العناصر. على سبيل المثال: {40,50}.

  • الخريطة−الخريطة هي نوع بيانات مركب يحتوي على عدد متغير من الصِلات المفتاح-قيمة. كل صلة مفتاح-قيمة تُسمى زوجًا. على سبيل المثال: {type => person،age => 25}.

  • القائمة−القائمة هي نوع بيانات مركب له عدد متغير. على سبيل المثال: [40,40].

إعلان المتغير

نحو إعلان المتغيرات العامة كالتالي-

النحو

اسم المتغير = قيمة المتغير

حيث،

  • اسم المتغير −هذا هو اسم المتغير.

  • قيمة المتغير −هذا هو القيمة الم绑定 إلى المتغير.

إليك مثالاً على إعلان المتغيرات-

بالإضافة إلى ذلك، يظهر هذا المثال المزيد من المعلمات التي يمكن استخدامها مع جملة fwrite.

مثال 
-module(helloworld). 
-export([start/0]). 
   X = 40, 
   Y = 50, 
   Result = X + Y, 
   io:fwrite("~w",[Result]).

في هذا المثال، لدينا متغيران، الأول هو X الم绑定 إلى القيمة 40، والثاني هو Y الم绑定 إلى القيمة 50. والثاني يسمى Result الم绑定 إلى جمع X وY.

الخروج من البرنامج المذكور أعلاه سيكون كالتالي

الناتج للبرنامج المذكور أعلاه سيكون -

90

تسمية المتغيرات

كما ذكرنا سابقًا، يجب أن تبدأ أسماء المتغيرات بأحرف كبيرة. دعنا نأخذ مثالاً على المتغيرات المعلنة بالصغر.

بالإضافة إلى ذلك، يظهر هذا المثال المزيد من المعلمات التي يمكن استخدامها مع جملة fwrite.

مثال 
-module(helloworld). 
-export([start/0]). 
   X = 40, 
   Y = 50, 
   result = X + Y, 
   io:fwrite("~w",[Result]).

إذا حاولت تجميع البرنامج المذكور أعلاه، فسيظهر لك خطأ تجميعي كما يلي.

الناتج للبرنامج المذكور أعلاه سيكون -

helloworld.erl:8: متغير 'Result' غير مرتبط

ثم، يمكن تخصيص جميع المتغيرات مرة واحدة فقط. دعنا نأخذ مثالاً على تخصيص متغير أكثر من مرة.

بالإضافة إلى ذلك، يظهر هذا المثال المزيد من المعلمات التي يمكن استخدامها مع جملة fwrite.

مثال 
-module(helloworld). 
-export([start/0]). 
   X = 40, 
   Y = 50, 
   X = 60, 
   io:fwrite("~w",[X]).

إذا حاولت تجميع البرنامج المذكور أعلاه، فستحصل على خطأ تجميعي كما يلي.

الناتج للبرنامج المذكور أعلاه سيكون -

helloworld.erl:6: تنبيه: المتغير 'Y' غير مستخدم
helloworld.erl:7: تنبيه: لن يتم مطابق أي بند أبداً
helloworld.erl:7: تنبيه: حاجز هذا البند يقيّم إلى 'false'

الطبع

في هذا الفصل، سنناقش كيفية استخدام الوظائف المختلفة للطبع.

استخدام دالة io:fwrite

عليك أن تكون قد رأيت هذا (io:fwrite) في جميع البرامج السابقة.fwrite函数是“ io”模块或Erlang的一部分,可用于在程序中输出变量的值。

الوظائف هي جزء من مكتبة io أو جزء من Erlang، يمكن استخدامها لعرض قيمة المتغيرات في البرنامج.

بالإضافة إلى ذلك، يظهر هذا المثال المزيد من المعلمات التي يمكن استخدامها مع جملة fwrite.

مثال 
-module(helloworld). 
-export([start/0]). 
   start() -> 
   X = 40.00, 
   Y = 50.00, 
   io:fwrite("~f~n",[X]),

io:fwrite("~e",[Y]).

الناتج للبرنامج المذكور أعلاه سيكون -

الناتج
40.000000

5.00000e+1

  • بالنسبة للبرنامج المذكور أعلاه، يجب مراعاة النقاط التالية. ~

  • −هذا الرمز يشير إلى أنه يجب تنسيق الناتج.~f

  • −الرقم المطلوب هو عدد عشري، يكتب ك[-] ddd.ddd، حيث يكون precision عدد الأرقام بعد نقطة. القيمة الافتراضية للدقة هي 6 ولا يمكن أن تكون أقل من 1.printlnهذا يعني طباعة على سطر جديد.

  • ~e−الرقم المطلوب هو عدد عشري، يكتب ك[-] d.ddde + -ddd، حيث يكون precision عدد الأرقام المكتوبة. القيمة الافتراضية للدقة هي 6 ولا يمكن أن تكون أقل من 2.