إشترك معنا ليصلك جديد الموقع

بريدك الإلكترونى فى أمان معنا

24‏/12‏/2012

الإصدارة 1.5 من مُفسِّر أُبْدِع

وادي التقنية
الإصدارة 1.5 من مُفسِّر أُبْدِع
Dec 23rd 2012, 23:43

تم بحمد الله تعالي بناء الإصدارة 1.5 من مُفسِّر أُبْدِع و رُفِعَتْ علي مواقعها علي الشبكة، و الأمر الوحيد الجديد في هذه الإصدارة هو دعم إمكانية "إسناد مؤشرات جداولٍ للأبعاد الداخلية inner dimensions لجداولٍ أخري، بشكلٍ مُجمَّع":
 
مثلاً البرنامج التالي:

 
رقم{1}  أرقام1  = {1  2  3} أرقام2 = {4  5  6}
رقم{2}  أرقام3 = {{7  8  9} {10  11  12}}

رقم{3}  أرقام4 = {{أرقام2  أرقام1}   أرقام3 }


السطر الثالث معناه أن:
مؤشر  البُعْد أرقام4{1  1} يشير لنفس ما يُشِير إليه الجدول أرقام2.
و مؤشر البُعد أرقام4{1  2} يشير لنفس ما يُشِير إليه الجدول  أرقام1.
و مؤشر البُعد أرقام4{2} يُشِير لنفس ما يُشِير إليه الجدول أرقام3.
و هو ما يُساوي ما يُسمَّي في اللغات الأخري (مصفوفة المصفوفات  array of arrays) مع بعض الاختلاف الذي يُعزَي إلي اختلاف الأهداف التصميمية بين اللغات.

و لو كتبنا البرنامج التالي:


رقم{1}  أرقام1  = {1  2  3} أرقام2 = {4  5  6}
رقم{2}  أرقام3 = {{7  8  9} {10  11  12}}

رقم{3}  أرقام4 = {{أرقام2  أرقام1}   أرقام3 }

أرقام4{1  1  1} = 444
أرقام2{1} = 222

أكتب.نص.سطر("أرقام4{1  1  1} = " + إلي.نص(أرقام4{1  1  1}))
أكتب.نص.سطر("أرقام2{1} = " + إلي.نص(أرقام2{1}))
 

لرأينا أن ناتج تنفيذه سيكون:

أرقام4{1  1  1} = 222.0
أرقام2{1} = 222.0

الأمر الواجب التنبيه عليه أن هذه الخاصية لم يتم الإنتهاء من بنائها داخل الأصناف، أي أنه لو تم كتابة كودٍ كالتالي:


 صنف1 كائن1 = صنف1()
 صنف1 كائن2 = صنف1()

كائن1_الأرقام_بعد1{1} =  10
كائن2_الأرقام_بعد1{1} =  50

أكتب.نص.سطر("كائن1_الأرقام_بعد1{1} =  " + إلي.نص(كائن1_الأرقام_بعد1{1}))
أكتب.نص.سطر("كائن2_الأرقام_بعد1{1} =  "+ إلي.نص(كائن2_الأرقام_بعد1{1}))

أكتب.نص.سطر("كائن1_أرقام3{1  1  1} =  " + إلي.نص(كائن1_أرقام3{1  1  1}))
أكتب.نص.سطر("كائن2_أرقام3{1  1  1} =  "+ إلي.نص(كائن2_أرقام3{1  1  1}))


صنف صنف1 :
    رقم{2} عام    ثابت الأرقام = { بعد1= { 79  2  3 }  بعد2 = { 4  5  6 } }
    رقم{3} عام أرقام3 = {الأرقام   {{7  8  9}  {10  11  12}}}
   
 
فسيكون الناتج:

كائن1_الأرقام_بعد1{1} =  10.0
كائن2_الأرقام_بعد1{1} =  50.0
كائن1_أرقام3{1  1  1} =  10.0
كائن2_أرقام3{1  1  1} =  10.0

مما يعني أن  الجدول أرقام3  الذي في الكائن كائن2 يُشِير لنفس ما يُشِير إليه الجدول أرقام3 الذي في الكائن كائن1 رغم أنه جدولٌ غير مُشترَك !
و هذا ما أعمل حالياً علي إصلاحه في الإصدارة 1.6 التي ستصدر قريباً بمشيئة الله عز و جل.


يمكنكم تحميل  مُفسِّر أُبْدِع من مركز التحميلات علي الموقع الرسمي:
http://ebda3lang.blogspot.com/p/blog-page_5.html

Delicious Facebook Google Plus LinkedIn Tumblr Twitter
You are receiving this email because you subscribed to this feed at blogtrottr.com.

If you no longer wish to receive these emails, you can unsubscribe from this feed, or manage all your subscriptions

شارك هذه التدوينة وتابعنا على صفحاتنا الرسمية
ادعم الموضوع →
أو انشره →

0 التعليقات:

إرسال تعليق

المشاركات الشائعة

متتبعون المدونة

يتم التشغيل بواسطة Blogger.