Jump to content

[Lua] #5 الأرقام والدوال الخصة بها || الجزء الأول


Recommended Posts

السلام عليكم ورحمة الله وبركاته

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

في هذا الدرس راح نشرح كيفية استخدام الارقام والدوال الخاصة بها

نتابع الدرس

طبعا كلنا نعرف الارقام

عشان تعرف قيمة المتغير هو رقم ولا لا

تابع المثال

var1 = "Hello World" -- متغير ونوعه سلسة نصية 
var2 = 999 -- متغير ونوعه رقم 
  
print(var1, type(var1), type(var1) == "number" and "true" or "false") -- طباعة المتغير مع نوعه مع التحقق هو رقم او لا 
print(var2, type(var2), type(var2) == "number" and "true" or "false") -- نفس الشرح بالسطر السابق 

type(var1) and "true" or "false" 

راح تسأل ماهذا

وراح اقلك

type(var1) == "number" 

تعني نوع القيمة 1 تساوي رقم

and "true" or "false" 

و صحيح أو خاطئ

والزبدة كأنك تقول "الغداء اللي اشتريته هو كبسسة مع ببسي او لاتجيب شي"

مجرد زبدة

نبدأ بالدالة

tonumber

تحويل السلسلة النصية الى رقم

يجب ان يكون محتوى السلسلة النصية رقم بدون مسافات او ارقام اخرى

var1 = "999" 
var2 = 999 
var3 = "Hello World" 
var4 = "Hello World11" 
  
print(tonumber(var1)) -- 999 
print(tonumber(var2)) -- 999 
print(tonumber(var3)) -- nil فارغ 
print(tonumber(var4)) -- nil فارغ 

الدوال الاخرى

math

تبي تعرف كل الدوال

استخدم المثال

for k in pairs(math) do 
    print("math."..k) 
end 

طبعا طلعتها بالمثال السابق وطلع لي كذا بدون اي تعب او كتابة

math.abs 
math.modf 
math.ceil 
math.sqrt 
math.log10 
math.asin 
math.fmod 
math.pow 
math.exp 
math.deg 
math.cos 
math.min 
math.tan 
math.sin 
math.atan2 
math.type 
math.tointeger 
math.atan 
math.pi 
math.ult 
math.rad 
math.maxinteger 
math.mininteger 
math.frexp 
math.ldexp 
math.huge 
math.floor 
math.cosh 
math.tanh 
math.sinh 
math.random 
math.acos 
math.randomseed 
math.max 
math.log 

math.abs

تحويل الرقم الموجب الى سالب

number1 = 1 
number2 = -1 
number3 = 0 
print(math.abs(number1)) -- 1 
print(math.abs(number2)) -- 1 
print(math.abs(number3)) -- 0 

math.modf

على حسب معلوماتي تجيب لك الجزء الكسري(العشري) في باقي القسمة

number1 = 99/2 
number2 = 99/3 
number3 = 99 
print(math.modf(number1)) -- 0.5 
print(math.modf(number2)) -- 0.0 
print(math.modf(number3)) -- 0.0 

math.ceil

تقريب الرقم العشري الى اكبر عدد صحيح

مالهو العدد الصحيح؟

العدد الذي ليس فيه فاصلة

number1 = 1.5 
number2 = 0.5 
number3 = 1 
print(math.ceil(number1)) -- 2 
print(math.ceil(number2)) -- 1 
print(math.ceil(number3)) -- 1 

math.sqrt

حساب الجذر التربيعي

وكلنا نعرف الجذر

number1 = 900 
number2 = 900.5 
number3 = 1 
print(math.sqrt(number1)) -- 30.0 
print(math.sqrt(number2)) -- 30.008332176247 
print(math.sqrt(number3)) -- 1.0 
print(number1^.5) -- طريقة آخرى لحساب الجذر التربيعي 

math.log10

نظرية اللوغاريتم

Numbers = {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000} 
  
for k,v in ipairs(Numbers) do 
    print(math.log10(v)) 
end 
--[[ 
0.0 
1.0 
2.0 
3.0 
4.0 
5.0 
6.0 
7.0 
]] 

نلاحظ الرقم يزيد كل مازاد الصفر

math.asin

sin = جيب الزاوية

عكس قيمة الجيب داخل الزواية

print(math.sin(999)) -- -0.026460752737064 

وعذرا على الاطالة

اي استفسار أو ملاحظات ماعندك الى الردود

والسلام عليكم ورحمة الله وبركاته

Link to comment

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...