AR/String: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
<div style="background: #FFCFCF; padding: 5px; font-weight:bold; border: 1px dotted #AAAAAA;padding:10px;margin:10px;">< | <div style="background: #FFCFCF; padding: 5px; font-weight:bold; border: 1px dotted #AAAAAA;padding:10px;margin:10px;"><right>KrSoFa ملاحظة: هذه المكتبه من ترجمتي الخاصه انا | ||
اذا أردت أضافة حدث للمكتبه او تعديل خطأ بالترجمه | اذا أردت أضافة حدث للمكتبه او تعديل خطأ بالترجمه | ||
او التنسيق او إضافة مثآل | او التنسيق او إضافة مثآل | ||
فيمكنك القيام بما تريد ماعدا( حذف اي حرف بلا حق)ا.</ | فيمكنك القيام بما تريد ماعدا( حذف اي حرف بلا حق)ا.</right></div> | ||
Revision as of 10:33, 25 August 2012
بسم الله الرحمن الرحيم
اذا أردت أضافة حدث للمكتبه او تعديل خطأ بالترجمه او التنسيق او إضافة مثآل
فيمكنك القيام بما تريد ماعدا( حذف اي حرف بلا حق)ا.</right>
نبدأ على بركة الله باأول داله بالمكتبه
string.upper وهي دالة
تستخدم للتحويل حالةالاحرف من الاحرف الصغيره الى الاحرف الكبيره .
test1 = string.upper("Hello, Lua user!") HELLO, LUA USER!
___________________________________________________________________
string.sub
تستخدم لتحديد بداية ونهاية السلسله ، حيث ان الرقم الاول يحدد بداية السلسه والرقم الثاني يحدد نهاية السلسه وعند وضع الرقم بالسالب سوف تقوم بتحديد السلسه بالعكس
test1 = string.sub("Hello Lua user", 7) Lua user test2 = string.sub("Hello Lua user", 7, 9) Lua test3 = string.sub("Hello Lua user", -8) Lua test4 = string.sub("Hello Lua user", -8,9) Lua test5 = string.sub("Hello Lua user", -8,-6) Lua
___________________________________________________________________
string.reverse
تستخدم لعكس السلسه .
test1 = string.reverse("krsofa") afosrk
___________________________________________________________________
string.rep
تستخدم لنسخ السلسه على حسب الرقم .
test1 = string.rep("Lua ",5) Lua Lua Lua Lua Lua test2 = string.rep("KrSoFa\n",3) KrSoFa KrSoFa KrSoFa
___________________________________________________________________
string.lower
تستخدم للتحويل حالةالاحرف من الاحرف الكبيره الى الاحرف الصغيره .
test1 = string.lower("Hello, KrSoFa user!") hello, krsofa user!
___________________________________________________________________
string.len
تستخدم لمعرفة طول السلسله .
test1 = string.lower("Hello, KrSoFa user!") hello, krsofa user! test1 = string.len("Lua") 3 test2 = string.len("") 0 test3 = string.len("Lua\000user") -- Lua strings are 8 bit pure so \000 does not terminate 8
___________________________________________________________________
string.gsub
هذه هي وظيفة قوية جدا، ويمكن استخدامها بطرق متعددة يمكن أن تستخدم للتبديل والاستبدال .
-- المثال الاول يقوم بتنقيح لـ كلمة -- banana test1 = string.gsub("Hello banana", "banana", "Lua user") Hello Lua user 1 -- المثال الثاني يقوم بااستبدال الاحرف الاولى الصغيره -- a -- الى احرف كبيره A -- ويقوم بالاستبدال مرتين فقط test2 = string.gsub("banana", "a", "A", 2) -- limit substitutions made to 2 bAnAna 2
ويمكن أيضا إستخدامها مع الوظايف function
-- المثال الاول يقوم بطباعة السلسله test1 = string.gsub("Hello Lua user", "(%w+)", print) -- print any words found Hello Lua user 3 -- المثال الثاني يقوم بتحديد طول السلسله test2 = string.gsub("Hello Lua user", "(%w+)", function(w) return string.len(w) end) -- replace with lengths 5 3 4 3 -- المثال الثالث بااستبدال الحرف الى حروف كبيره test3 = string.gsub("banana", "(a)", string.upper) -- make all "a"s found uppercase bAnAnA 3 -- المثال الثالث الوظيفه تقوم بتبديل بين الحرفين test4 = string.gsub("banana", "(a)(n)", function(a,b) return b..a end) -- reverse any "an"s bnanaa 2
___________________________________________________________________
string.format
هذه لتنسيق يمكن أن تستخدم لتنسيق السلسله والمتغيرات .
function getPlayerStats(thePlayer) local account = getPlayerAccount(thePlayer) if account then local kills = getAccountData(account,"kills") or 0 local deaths = getAccountData(account,"deaths") or 0 local ratio = string.format("%.2f", kills / deaths) outputChatBox("s Stats: Kills: ".. tostring(kills) .." ), ".. tostring(deaths) .." Deaths, Ratio: ".. tostring(ratio).."", getRootElement(), 50, 255, 0) end end addCommandHandler("stats",getPlayerStats) -- مثال لتحويل اللوان الى هيكس function chatbox(text, msgtype) local account = getAccountName(getPlayerAccount(source)) local name = getPlayerName(source) local tag = getElementData(source, "ID") or 0 local r, g, b = getPlayerNametagColor(source) local hex = RGBToHex(r, g, b) if (msgtype == 0) then if isObjectInACLGroup("user." .. account, aclGetGroup("HeadAdmin")) then cancelEvent(true) outputChatBox(" #cccccc[".. tag .."] #8B1A1A[HEADADMIN] ".. hex .."".. name ..": #FFFFFF".. text, root, 255, 255, 255, true) outputServerLog("CHAT: [HEADADMIN] " .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("Admin")) then cancelEvent(true) outputChatBox("#cccccc[".. tag .."] #FF0000[ADMIN] ".. hex .."" .. name ..": #FFFFFF" .. text, root, 255, 255, 255, true) outputServerLog("CHAT: [ADMIN] " .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("Moderator")) then cancelEvent(true) outputChatBox("#cccccc[".. tag .."] #00FF00[MODERATOR] ".. hex .."" .. name .. ": #FFFFFF" .. text, root, 255, 255, 255, true) outputServerLog("CHAT: [MODERATOR] " .. name .. ": " .. text) elseif isObjectInACLGroup("user." .. account, aclGetGroup("Everyone")) then cancelEvent(true) outputChatBox("#cccccc[".. tag .."] #FFFFFF".. hex .."" .. name .. ": #FFFFFF" .. text, root, 255, 255, 255, true) outputServerLog("CHAT: " .. name .. ": " .. text) end end end addEventHandler("onPlayerChat", root, chatbox) function RGBToHex(red, green, blue, alpha) if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then return nil end if(alpha) then return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha) else return string.format("#%.2X%.2X%.2X", red,green,blue) end end -- لتحويل السلسله النصيه الى سلسله نصيه مقتبسه بعلامتي التنصيص test9 = string.format("%s %q", "Hello", "Lua user!") -- string and quoted string Hello "Lua user!" test10 = string.format("%c%c%c", 76,117,97) -- char Lua -- مثال لاستخدام الأس test11 = string.format("%e, %E", math.pi,math.pi) -- exponent 3.141593e+000, 3.141593E+000 -- مثال لاستخدام float test12 = string.format("%f, %g", math.pi,math.pi) -- float and compact float 3.141593, 3.14159 test13 = string.format("%d, %i, %u", -100,-100,-100) -- signed, signed, unsigned integer -100, -100, 4294967196 test14 = string.format("%d, %i, %u", -100,-100,-100) -- signed, signed, unsigned integer -100, -100, 4294967196 test15 = string.format("%o, %x, %X", -100,-100,-100) -- octal, hex, hex 37777777634, ffffff9c, FFFFFF9C
___________________________________________________________________
string.find
للبحث بالسلسله .يجب ان تكون السلسله بعد التحميل later loadstring
-- مثال للبحث عن كلمة في سلسله -- test1 = string.find("Hello Lua user", "Lua") 7 9 test2 = string.find("Hello Lua user", "banana") nil -- للبحث عن كلمه بااستخدام تحديد مكان البحث -- بالرقم test3 = string.find("Hello Lua user", "Lua", 1) -- start at first character 7 9 test4 = string.find("Hello Lua user", "Lua", 8) -- "Lua" not found again after character 8 nil test5 = string.find("Hello Lua user", "e", -5) -- first "e" 5 characters from the end 13 13 -- مثال للبحث بااستخدام PatternsTutorial test6 = string.find("Hello Lua user", "%su") -- find a space character followed by "u" 10 11 test7 = string.find("Hello Lua user", "%su", 1, true) -- turn on plain searches, now not found nil
___________________________________________________________________
string.char
character codes تستخدم لتكوين سلسلة نصيه من .
test1 = string.char(65,66,67) ABC test2 = string.char() -- empty string
___________________________________________________________________
string.byte
character codes تستخدم لتحويل من سلسلة نصيه الى .
test1 = string.byte("ABCDE") -- عند عدم التحديد يتم استخدام الحرف الاول للتحويل 65 test2 = string.byte("ABCDE",1) -- تحويل الحرف الاول 65 test3 = string.byte("ABCDE",0) -- لا يعمل عند عدم التحديد test4 = string.byte("ABCDE",100) -- القيمه اعلى من السلسله test5 = string.byte("ABCDE",3,4) -- تحويل الحرف الثالث والرابع 67 68 s = "ABCDE" test6 = s:byte(3,4) -- يمكن استخدام المتغير مع الداله بااستخدامها هكذا 67 68
___________________________________________________________________
___________________________________________________________________
دوال لم يتم ترجمتها ووضع امثله عليها
string.gmatch()
string.dump(function)
string.match (s, pattern [, init])