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])