AR/Table: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 131: | Line 131: | ||
if p ~= 0 then -- نتأكد أن الجدول لا يساوي صفر أو مو فاضي | if p ~= 0 then -- نتأكد أن الجدول لا يساوي صفر أو مو فاضي | ||
outputChatBox ( getPlayerName ( p ) ); -- نطلع الأسماء في الشات | outputChatBox ( getPlayerName ( p ) ); -- نطلع الأسماء في الشات | ||
end -- إغلاق if | |||
end -- إغلاق loop | |||
end -- إغلاق end | |||
); -- إغلاق القوس | |||
</syntaxhighlight> </section> | |||
<syntaxhighlight lang="lua"> | |||
table table.remove (table,function) | |||
</syntaxhighlight> | |||
<section name="Example" class="both" show="true"> | |||
<syntaxhighlight lang="lua"> | |||
-- مثال على جلب أسماء اللاعبين عن طريق الجدول | |||
t = { }; -- إنشاء جدول | |||
for i, p in ipairs ( getElementsByType ( "player" ) ) do -- لوب للاعبين | |||
table.insert ( t, getPlayerName ( p ) ); -- نحط أسمائهم ف الجدول | |||
end -- إغلاق loop | |||
------------------------ | |||
addCommandHandler ( "removeMe", function ( player ) -- إنشاء أمر | |||
for i, p in ipairs ( t ) do -- نجيب الا ف الجدول | |||
if p ~= 0 then -- نتأكد أن الجدول لا يساوي صفر أو مو فاضي | |||
if getPlayerName ( player ) == getPlayerName ( p ) then -- إذا كان إسم اللاعب الي كتب الأمر يساوي اللاعب الي ف الجدول | |||
table.remove ( t, i ) -- نحذفه من الجدول بواسطة رقمه | |||
end -- إغلاق if | |||
end -- إغلاق if | end -- إغلاق if | ||
end -- إغلاق loop | end -- إغلاق loop | ||
Line 156: | Line 188: | ||
* [http://www.lua.org/manual/5.1/manual.html#pdf-table.concat table.concat] | * [http://www.lua.org/manual/5.1/manual.html#pdf-table.concat table.concat] | ||
* [http://www.lua.org/manual/5.1/manual.html#pdf-table.maxn table.maxn] | * [http://www.lua.org/manual/5.1/manual.html#pdf-table.maxn table.maxn] | ||
* [http://www.lua.org/manual/5.1/manual.html#pdf-table.sort table.sort] | * [http://www.lua.org/manual/5.1/manual.html#pdf-table.sort table.sort] | ||
* [http://www.lua.org/manual/5.1/manual.html#pdf-unpack unpack] | * [http://www.lua.org/manual/5.1/manual.html#pdf-unpack unpack] |
Revision as of 08:20, 3 January 2014
بسم الله الرحمن الرحيم
___________________________________________________________________
== table.foreachi ==
تستخدم ل إظهار الجدول بصف واحد
table table.foreachi(table,function)
Click to collapse [-]
Examplet = {1,1,2,3,5,8,13} test1 = table.foreachi(t,print) 1 1 2 1 3 2 4 3 5 5 6 8 7 13
Click to collapse [-]
Examplet = { 1,2,"three"; pi=3.14159, banana="yellow" } test1 = table.foreachi(t,print) 1 1 2 2 3 three
___________________________________________________________________
table.foreach
تستخدم ل تكرار المفاتيح في الجدول
table table.foreach(table,function)
Click to collapse [-]
Examplek = { apple="green", orange="orange", banana="yellow" } test1 = table.foreach(k,print) apple green orange orange banana yellow
Click to collapse [-]
Examplet = { 1,2,"three"; pi=3.14159, banana="yellow" } test1 = table.foreach(t,print) 1 1 2 2 3 three pi 3.14159 banana yellow
table table.insert (table,function)
Click to collapse [-]
Example-- مثال على جلب أسماء اللاعبين عن طريق الجدول t = { }; -- إنشاء جدول for i, p in ipairs ( getElementsByType ( "player" ) ) do -- لوب للاعبين table.insert ( t, p ); -- نحطهم ف الجدول end -- إغلاق loop ------------------------ addCommandHandler ( "gPlayer", function ( ) -- إنشاء أمر for i, p in ipairs ( t ) do -- نجيب الا ف الجدول if p ~= 0 then -- نتأكد أن الجدول لا يساوي صفر أو مو فاضي outputChatBox ( getPlayerName ( p ) ); -- نطلع الأسماء في الشات end -- إغلاق if end -- إغلاق loop end -- إغلاق end ); -- إغلاق القوس
table table.remove (table,function)
Click to collapse [-]
Example-- مثال على جلب أسماء اللاعبين عن طريق الجدول t = { }; -- إنشاء جدول for i, p in ipairs ( getElementsByType ( "player" ) ) do -- لوب للاعبين table.insert ( t, getPlayerName ( p ) ); -- نحط أسمائهم ف الجدول end -- إغلاق loop ------------------------ addCommandHandler ( "removeMe", function ( player ) -- إنشاء أمر for i, p in ipairs ( t ) do -- نجيب الا ف الجدول if p ~= 0 then -- نتأكد أن الجدول لا يساوي صفر أو مو فاضي if getPlayerName ( player ) == getPlayerName ( p ) then -- إذا كان إسم اللاعب الي كتب الأمر يساوي اللاعب الي ف الجدول table.remove ( t, i ) -- نحذفه من الجدول بواسطة رقمه end -- إغلاق if end -- إغلاق if end -- إغلاق loop end -- إغلاق end ); -- إغلاق القوس
؟ table.foreachi و table.foreach الفرق بين
الاولى تستخدم لفهرسة الجدول بينما الاخرى هي لتكرار مفاتيح الجداول ,, ملاحظة : الثانيه غير مضمونه بما يتعلق الترتيب التي يتم تخزين مفاتيح في جدول