S4MuEL Posted April 25, 2013 Share Posted April 25, 2013 (edited) السلآمم عليكمم ششبآب # ححبيت آععرفف ششنو الففرق بين ipairs & pairs و وش ففآيدتهمم ؟ ! نآسس تققول تخرج ققيمةة من الجدول ؟ وش يعني وممكن ممثآل بسسيط ؟ = )) ! Edited April 25, 2013 by Guest Link to comment
فاّرس Posted April 25, 2013 Share Posted April 25, 2013 viewtopic.php?f=160&t=52926&p=515064&hilit=pairs#p515064 Link to comment
S4MuEL Posted April 25, 2013 Author Share Posted April 25, 2013 viewtopic.php?f=164&t=50471 ^ ححآولت ققبل ، ممآ ققدرت آففهممه ! Link to comment
فاّرس Posted April 26, 2013 Share Posted April 26, 2013 ipairs تستخدم لعمل لوب للتيبلتيبل = جدول كيف يعني لوب ؟ لمن يكون عندك جدول فيه اللاعبين مثلا, وانت تبي تعطي كل اللاعبين اللي في الجدول 100 ريال راح يعطي كل واحد في الجدول 100 ريال ipairs لمن تستخدم يعني اللوب انك تلف على كل عنصر في الجدول وتنفذ عليه العملية المطلوبة مثال كود برستيج -- Server Side Script ; addCommandHandler("delete", -- نسوي الكوماند function ( ) -- وظيفة for _,v in ipairs ( getAccounts() ) do -- نجيب الحسابات عن طريق جدول # removeAccount ( v ); -- نحذف جميع الحسابات end; -- نغلق end -- نغلق ); -- اغلاق for _,v in ipairs ( getAccounts ( ) ) do يعني نسوي جدول بكل الحسابات اللي في السيرفر وننفذ العملية على كل عنصر في الجدول removeAccount العمليه هي الحذف ??? v طبعا تسأل وش هي الـ هي التعرف اللي احنا حطيناه في اللوب for _,v ... ممكن تكون أي شي v ومو شرط انها تكون for _, ^^ إذا في شي ما فهمته قولي وبشرحه لك + http://www.lua.org/manual/5.1/manual.html#pdf-pairs Link to comment
PaiN^ Posted April 26, 2013 Share Posted April 26, 2013 شوف الفرق بينهم أنا ما أعرفه الصراحة, لكن وش فايدتهم ؟ تقريباً زي ما قلت, إستخراج قيمة من الجدول, بس هدي تسوي لووب للجدول كيف يعني ؟ Players عشان نسوي جدول لاعبين ونحفظ الجدول في متغير getElementsByType يعني مثلا نستخدم Players = getElementsByType ( 'player' ); وبعدين نسوي اللوب for k,v in ipairs( Players ) do k,v > هذي هي الأشياء إللي تاخذها من الجدول k = المفتاح v = القيمة غالبا نتعامل مع القيمة, فإذا ما كنت تحتاج المفتح تقدر تتخطاه كدا for _,v in ipairs( Players ) do أو خليه ما تفرق ذذ طيب جبنا الطاولة وخليناها معرفة بمتغير وسوينالها لووب دحين مثلا نبغى نعطي كل اللاعبين 100 دولار, نسوي العملية حقت الإعطاء داخل اللوب ونستخدم القيمة مو المفتاح for k,v in ipairs( Players ) do givePlayerMoney ( v, 100 ); end هذا راح يعطي كل اللاعبين 100 دولار أما لو تبي تعطي مثلا تيم معين, نقول تيم الفقيرين for k,v in ipairs( Players ) do local team = getPlayerTeam ( v ); if team and getTeamName ( team ) == 'Poor' then givePlayerMoney ( v, 100 ); else outputChatBox ( 'You do have money !', v ); end end You do have money ! هذا راح يعطي 100 دولار للفقيرين, ويقول للبقية مع طاولة تجيبها من فنكشن, ممكن تستخدمها مع أي طاولة ipairs - pairs ومو شؤط تستخدم + يكون أحسن ipairs - pairs بدل next أنا إللي أعرف إنه لو إستخدمت for k,v in next, Players do وبس ذذ إذا في شي ما فهمته قولي أشرحه لك ,, Link to comment
S4MuEL Posted April 26, 2013 Author Share Posted April 26, 2013 وشش تققصد بالـ " الممففتآح " ؟ والققيممةة بعد + ذآ يلي إسسمه لوب وش يعني ؟ = )) ! Link to comment
PaiN^ Posted April 26, 2013 Share Posted April 26, 2013 لووب تقدر تقول يعني يمر على كل عنصر بالجدول, مثلا لو جدول لاعبين يصير اللوب راح يمر على كل اللاعبين ويسوي عليهم الوظيفة الموجودة داخله القيممة والمفتاح : table = { ['key'] = value } key = المفتاح value = القيمة k,v يختصروها وإذا كان جدولك كذا table = { 'text1', 'text2' } قيم text2 ,text1 فالعبارتين يعني لو ما حددت مفتاح, العنصر المدخل يعتبر قيمة Link to comment
Tete omar Posted April 27, 2013 Share Posted April 27, 2013 pairs او ipairs هي وظايف تستخدم لاخراج او لاعادة الكود لكل مرة حسب الاشياء الي بالجدول مثلاً عندك ipairs هذي تخرج كل شيء واحد بالجدول يعني مو معرف بشيء داخل الجدول مثل ["test"] = "ok" مثال local rybak = {"ok", "hi", "hello"} for i,v in ipairs(rybak) do outputChatBox("number of the item: " .. i .. ", item name: " .. v) end هذا رح يطلع بالشات 3 نصوص مثل كذا number of the item: 1, item name: ok number of the item: 2, item name: hi number of the item: 2, item name: hello اما pairs فهذي تستخدم اذا كان في شيء معرف بشيء مثل local rybak = {["Hi"] = "Hello", ["Bye"] = "Bye"} الحين كل فردين معرف على انه شي واحد اساساً كلمة pairs تعني ازواج, لا تحسب ازواج متزوجين ذذ, لا ازواج يعني شيئين, شيئين مثال : local rybak = {["Hi"] = "Hello", ["Bye"] = "Byee", ["ok"] = "Alright"} for i,v in pairs(rybak) do outputChatBox("key: " .. i .. ", value: " .. v) end هذا رح يطلع بالشات 3 مرات في 3 نصوص كذا : key: Hi, value: Hello key: Bye, value: Byee key: ok, value: Alright ان شاء الله فهمت Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now