Eval() and Debugging

في هذه المقالة سوف نتعرف معا على كيفية التعامل مع الاخطاء حتى قبل حدوثها، وكيفية تنفيذ الكود أثناء التشغيل من داخل السلسة الحرفية(Strings)

أولا:Debugging

1- Try/Catch/Done

في البداية يتم تنفيذ الكود بداخل Try وفي حالة حدوث خطأ أو Errors يتم تنفيذ الكود بداخل Catch.

Try

      في حالة  Statements… True

Catch

    في حالة Statements… False

                                               Done

ملحوظة:

cCatchError  عبارة عن متغير معرف داخل اللغة يستخدم للحصول على رسالة الخطأ.

مثال توضيحي لإيجاد مضروب (Factorial) للرقم 5:

(See fact (5

   Func fact x

 (Return x * fact(x-1

الخرج (output):

1.jpg

وفي حالة تنفيذ Try/Catch/Done تظهر فقط رسالة الخطأ دون أن يحدث اغلاق أو مشاكل للبرنامج.

 كما في الشكل التالي:

2.jpg

الكود

في المثال السابق حدثStack Overflow  عند الوصول الي رقم 1 والتخطي الي ما بعد هذا الرقم.

ولتفادي هذه المشكلة يتم عمل condition

كما في الكود التالي:

(See fact (5

    Func fact x

If x = 1 return 1

(Else return x * fact(x-1

            OK

2- ()Raise 

تستخدم للحصول علي رسالة الخطأ في الحالات الاستثنائية(Exceptions).

 (Raise (cErrorMessage

مثال توضيحي:

4.jpg

الكود

3- ()Assert

لعمل اختبار قبل تنفيذ الكود  – وفي حالة فشل الاختبارتظهر رسالة بالخطأ.

 (Assert (condition

مثال:

x = 10

 (Assert(x = 100

 ثانيا:()Eval

تستخدم لتنفيذ الكود أثناء تشغيل البرنامج من خلال Strings.

وهي من الدوال التي يجب تقليل استخدامها أو عند الضرورة حيث أنها تقوم بتنفيذ أي كود.

ملحوظة: الدالة EVAL تستخدم لتنفيذ الكود أثناء التشغيل، وما بداخلها عبارة عن سلسة حرفية.

(“Eval (” cCode

(‘Eval (‘cCode

(`​Eval (`cCode

مثال توضيحي:

3.jpg

الكود

مثال اخر:

1.jpg

الكود

للاطلاع علي المقالات الاخري من هنا

تستطيع الاطلاع علي المشاريع مفتوحة المصدر من الموقع  GitHub
الموقع الرسمي للغة  http://ring-lang.net

 

 

Advertisements

فكرة واحدة على ”Eval() and Debugging

  1. تعقيب: (2)Object-oriented programming – OOP | لغة البرمجة رينج Ring programming language

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s