المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تمريـــن : من طرق الاعلان عن عناصر المصفوفة


ثامر أبو بلقيس
11-07-2016, 09:53 PM
بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
السلام عليكم ورحمة الله وبركاته
---------------
:abc_012: تمرين اليوم بسيط وذو فائدة بحثية وهومتعلق بالمصفوفات

لدينا المصفوفة التالية :
t={100,102,303,425,617}

تشمل 5 عناصر مثلا
العنصر الثالث = 303

للاستعلام على هذا العنصر

رايح تكتب
t={100,102,303,425,617}
result = Dialog.Message("Notice", t[3]);

أو تكتب :
هل هناك طرق أخرى لعرض العنصر أو القيمة الموافقة لترتيب معين
الجواب :
نعم هناك طرق أخرى لاستعراض عناصر المجموعة

أخي الكريم : نريد من بين تلك الطرق كود أو طريقة نتفادى بها كتابة الاقواس هذه " [ ] "
بمعنى الاعلان بدون استعمال هاتين القوسين :abc_012: [ ]

مشكور جدا :abc_138:

عبود عبود
11-07-2016, 11:53 PM
:abc_018::abc_095:

ثامر أبو بلقيس
12-07-2016, 12:32 AM
:n200691::abc_018:

ثامر أبو بلقيس
12-07-2016, 06:34 PM
:abc_144: :abc_033:

موفق :abc_138:

فرح صالحي
12-07-2016, 07:41 PM
السلام عليكم ورحمة الله وبركاته
حتى لا يبقى التمرين بدون ردود
نستبدل علامة = والمعقف بالنقطة وكفى المؤمنين شر القتال

ثامر أبو بلقيس
12-07-2016, 08:34 PM
حتى لا يبقى التمرين بدون ردود
نستبدل علامة = والمعقف بالنقطة

ـــــــــــــــــــــــــ ـ:abc_093:

عبد الهادي بهاب
12-07-2016, 09:55 PM
هل هناك طرق أخرى لعرض العنصر أو القيمة الموافقة لترتيب معين
:abc_138:

السلام عليكم .......محاولة يائسة

t={100,102,303,425,617} ;
f , b , d , y ,a = unpack (t);
result = Dialog.Message("Notice", d)

ثامر أبو بلقيس
12-07-2016, 10:27 PM
استعمال unpack لتجزئة المصفوفة لأبعاد
حل ممتــــــــــــــــاز لكن لعلك تساءلت في حالة تواجد عناصر كثيرة
مشكل ؟؟ وخاصة أن المصفوفة ليس بالضرورة أن تكون ثابتة من حيث العناصر عددا

حاول ثانية :abc_065:

عبد الهادي بهاب
12-07-2016, 11:23 PM
ممكن عرض عناصر المصفوفة في ليست بوك مثلا ثم استدعاء السطر الثالث

ثامر أبو بلقيس
13-07-2016, 01:26 AM
ممكن عرض عناصر المصفوفة في ليست بوك مثلا ثم استدعاء السطر الثالث

لا ... لوتلاحظ أني أريد توجيه النظر لدالة غير ظاهرة لا في أكواد
المصفوفة و المتعلقة مباشرة بالاوتوبلاي
وهي المعلن عنها بالكود :

d=""
for b ,n in pairs(_G.Table)do
d=d..b.."\r\n"
end
result = Dialog.Message("Notice",d);


و لا الدالة يمكن التعرف عليها بأكواد اللوا المتوافقة
هاهي الأكواد التي بفهمها البرنامج بخصوص المصفوفة
d=""
for b ,n in pairs(_G.table)do
d=d..b.."\r\n"
end
result = Dialog.Message("Notice",d);


فدالتنا المعنية بالتلميح لبست في الاعلان الاول و لا الثاني :abc_138:

ثامر أبو بلقيس
15-07-2016, 12:12 PM
:abc_138:يرفع لكتابة الحـــــل :abc_138:

ثامر أبو بلقيس
15-07-2016, 09:57 PM
الحل :
t={100,102,303,425,617}
Dialog.Message("Notice",rawget(t,3));

بالتوفيق :abc_138:

عبد الهادي بهاب
15-07-2016, 11:28 PM
الحل :
t={100,102,303,425,617}
Dialog.Message("Notice",rawget(t,3));

بالتوفيق :abc_138:

ما وجدته حول الدالة كتعريف

Gets the value of a table item without invoking metamethods

Prototype

v = rawget (table, index)

Description

Gets the real value of table [index] without invoking metamethods. Index should not be nil.

عبد الهادي بهاب
15-07-2016, 11:29 PM
:abc_022::abc_022:
حقيقة دائما تتحفنا بمعلومة رائعة
شكرا جزيلا جزاكم الله خيرا
:abc_052::abc_052: