Jump to content

string.format


Recommended Posts

بسم الله الرحمن الرحيم

الحمدلله رب العآلمين والصلإة والسلام على من لانبي بعده محمد صلى الله عليه وسلم

آما بعد :

مدخل للشرح

لو بغيت تسوي تعديل على اسامي لاعبين الي يدخلون سيرفرك

مثلاً نقول تببي تحط لهم زخرفة على الاسامي او تحط اسم تاج

مثل "زائر" هنا يجي إستخدام

string.format

وظيفه متخصصه في تنسيق السلسلة النصية

function Report(Users) 
outputChatBox(“USERNAME ID MONEY”) 
for Username, User in pairs(Users) do 
outputChatBox(string.format(“%-15s %6d %6d”, 
Username, User.ID, User.MONEY)) 
end 
end 
  
  
booo = { 
ahmed = {ID = 39, MONEY = 1119}, 
mohamed = {ID = 22, MONEY = 1181}, 
hammad = {ID = 53, MONEY = 1110} 
} 
  
Report(booo) 

رآح يطلع الكود

USERNAME ID MONEY

ahmed 39 1119

mohamed 22 1181

hammad 53 1110

string.format

كيف تعمل ؟

جميع العناصر المتخصصه بالتنسيق تبدا بعلامة نسبه مئوية

%

مثال

  
outputChatBox(string.format(“-->%s<--”, “booo”)) 

-->booo<--

نلاحظ ان

%s

هي تستخدم للسلسله النصيه

  
outputChatBox(string.format(“-->%15s<--”, “booo”)) 

--> booo<--

* الرقم الي بين المئوية والسلسله النصية هي المسافه الي يكتبها

من اول سطر ثم يحط السلسلة النصيه

  
outputChatBox(string.format(“-->%-15s<--”, “booo”)) 

-->booo <--

* اذا كان الرقم بالسالب بيأخذ المسافه من يمين

  
outputChatBox(string.format(“-->%d<--”, 35)) 

-->35<--

نلاحظ ان

%d

هي تستخدم ل الارقام الصحيحة

  
outputChatBox(string.format(“-->%6d<--”, 35)) 

--> 35<--

* رقم 6 هي المسافه الي ياخذها من اول السطر ثم يحط الرقم

  
outputChatBox(string.format("%-15s %6d %6d”,"ahmed",39, 1119)) 
  
 

ahmed 39 1119

عندما تكتب

%%

وراء بعض ، تطلع علامة مئوية

زي المثال

  
outputChatBox(string.format(“i give u money %d%%!”, 100)) 

i give u money 100%!

  
outputChatBox(string.format(“%d-%s”, 35,"35")) 

35-35

  
outputChatBox(string.format(“i give u %f ! ”, 99.99)) 

i give u 99.99 !

%f

تستخدم للتعامل مع الارقام العشرية

  
outputChatBox(string.format(“%.0f | %.1f | %.2f | %.3f”, 99.99,99.99,99.99,99.99)) 

99 | 99.9 | 99,99 | 99,990

  
outputChatBox(string.format(“%5.0f | %5.1f | %5.2f | %5.3f”, 99.99,99.99,99.99,99.99)) 

99 | 99.9 | 99,99 | 99,990

  
outputChatBox(string.format(“%6.1f”, 123456)) 

123456.0

  
outputChatBox(string.format([[ 
>> -->%2.2s<-- 
>> -->%2.2s<-- 
>> -->%2.2s<--]], “a”, “ab”, “abc”)) 

--> a<--

-->ab<--

-->ab<--

استخدام علامة التنصيص للسلسة النصيه

مثال

%q

  
outputChatBox(string.format(“%q”, “booo”)) 

"booo"

استخدام علامة الهيكس للسلسه

مثال

%x او %X

  
outputChatBox(string.format(“%x, %X”, 255, 255)) 

ff, FF

استخدام علامة الثمآني للسلسلة

octal output

مثال

%o

  
outputChatBox(string.format(“%o”, 31)) 

37

استخدام علامة الإسس للسلسلة

مثال

%e او %E

  
test11 = string.format("%e, %E", math.pi,math.pi) 

3.141593e+000, 3.141593E+000

لتحويل ارقام البايت لى حروف

نسخدم

%c

مثال

test10 = string.format("%c%c%c", 76,117,97)             -- char 
Lua 

ملإحظهه:

%d و %i

جميعها تستخدم لتحويل الرقم الى ارقام صحيحه

string.format ("%i", 123.456) --> 123 

وهذا وصلى الله وسلم على نبينا محمد

Edited by Guest
Link to comment
string.format يعني مثال يكون

داخلة فية

مثآل مثآل ماطلبت شي يآصإحبي :mrgreen:

شف مثلاً الحين

بتسوي سكربت اذا دخل الواحد لسيرفرك تبي تغير اسمه وتحط له في بداية اسمه

[زائر]

تابع معي يآصاحبي

function join ( ) 
    local name = getPlayerName ( source ) 
       local newname = string.format("[Guest]~%s", name) 
     setPlayerName ( source, newname ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), join ) 

بيطلع اسمك زي كذا

[Guest]~мσмσ~χ~ѕнωαєкι

اتمنى انك فهمت!!

Edited by Guest
Link to comment
string.format يعني مثال يكون

داخلة فية

مثآل مثآل ماطلبت شي يآصإحبي :mrgreen:

شف مثلاً الحين

بتسوي سكربت اذا دخل الواحد لسيرفرك تبي تغير اسمه وتحط له في بداية اسمه

[زائر]

تابع معي يآصاحبي

function join ( ) 
    local name = getPlayerName ( source ) 
       local newname = string.format("[Guest]~%s", name) 
     setPlayerName ( source, newname ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), join ) 

بيطلع اسمك زي كذا

[Guest]~мσмσ~χ~ѕнωαєкι

اتمنى انك فهمت!!

تقدر تسوي كذا,

function join ( ) 
     setPlayerName ( source, '[Guest]'..getPlayerName(source) ) 
end 
addEventHandler ( "onPlayerJoin", getRootElement(), join ) 
Link to comment

تقدر تسوي كذا,

function join ( )
     setPlayerName ( source, '[Guest]'..getPlayerName(source) )
end
addEventHandler ( "onPlayerJoin", getRootElement(), join )

حنا نتكلم عن استخدام

string.format

بالكود .!

Link to comment

تقدر تسوي كذا,

function join ( )
     setPlayerName ( source, '[Guest]'..getPlayerName(source) )
end
addEventHandler ( "onPlayerJoin", getRootElement(), join )

حنا نتكلم عن استخدام

string.format

بالكود .!

وتقدر تسوي بدونها string.format اقصد من ردي وش الفايده انك تستخدم

ع العموم ما قصرت .

http://www.lua.org/pil/20.2.html ولو كن المفروض تشرح الرموز كلها افضل , فيه ناس ما تعرفها ذذ

بالتوفيق

Link to comment

تقدر تسوي كذا,

function join ( )
     setPlayerName ( source, '[Guest]'..getPlayerName(source) )
end
addEventHandler ( "onPlayerJoin", getRootElement(), join )

حنا نتكلم عن استخدام

string.format

بالكود .!

وتقدر تسوي بدونها string.format اقصد من ردي وش الفايده انك تستخدم

ع العموم ما قصرت .

http://www.lua.org/pil/20.2.html ولو كن المفروض تشرح الرموز كلها افضل , فيه ناس ما تعرفها ذذ

بالتوفيق

يـ ابن الناس انت من وين تفهم :mrgreen:

قلت لك حنا نتكلم عن

string.format

يعني الرجال قال لي ابي مثال نستخدم فيها الداله

وكتبت له مثال استخدمنا فيها سترنق فورمات

فهمت ؟ :mrgreen:

وبالنسبه للرموز يالحبيب هذي كل الرموز الي تخص

سترنق فورمات

والي حاط رابطها

هذي للداله ثانيه

ماتخص سترنق فورمات

وترا ماهو عيب انك تقول مااعرف الرموز هذي

ماهو لازم تقول "فيه ناس ما تعرفها "

خلك صريح لبى قلببك :mrgreen:

Link to comment

يـ ابن الناس انت من وين تفهم :mrgreen:

قلت لك حنا نتكلم عن

string.format

يعني الرجال قال لي ابي مثال نستخدم فيها الداله

وكتبت له مثال استخدمنا فيها سترنق فورمات

فهمت ؟ :mrgreen:

وبالنسبه للرموز يالحبيب هذي كل الرموز الي تخص

سترنق فورمات

والي حاط رابطها

هذي للداله ثانيه

ماتخص سترنق فورمات

وترا ماهو عيب انك تقول مااعرف الرموز هذي

ماهو لازم تقول "فيه ناس ما تعرفها "

خلك صريح لبى قلببك :mrgreen: [/b]

اي فاهمك ,

وبخصوص اني ما اعرفها لا غلطان اعرفها لو ما اعرفها كنت بقول ما عندي مشكله ,

انا حسبت انها بعد تستخدم مع سترنق فورمات لأني شفتها تستخدم في اكثر من سترنق ...

Link to comment
  • 2 months later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...