تم بحمد الله تعالي بناء الإصدارة 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