0Pricing
Lua Academy · درس

مكتبتا os وio

يمكنك الوصول إلى وقت النظام ومتغيرات البيئة ونظام الملفات وstdin/stdout

مكتبتا os وio درس مجاني في Lua Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Lua Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Lua Academy 4 دروس في المجموع.

نظرة عامة على الوحدة os

توفر الوحدة os إمكانية الوصول إلى ميزات نظام التشغيل، مثل الوقت والتاريخ ومتغيرات البيئة والتحكم في العمليات وعمليات نظام الملفات.

os.time وos.clock

تُرجع os.time() الوقت الحالي على هيئة طابع زمني لـ Unix. وتُرجع os.clock() وقت وحدة المعالجة المركزية الذي استخدمه البرنامج، ما يجعلها مفيدة لقياس الأداء.

local t0 = os.clock()
for i = 1, 1e6 do end
print(("%.4f sec CPU"):format(os.clock() - t0))

os.date

تنُسّق os.date(format, time) طابعًا زمنيًا. استخدم "*t" للحصول على جدول يحوي حقول السنة والشهر واليوم والساعة والدقيقة والثانية.

print(os.date("%Y-%m-%d %H:%M:%S"))  -- 2025-01-15 14:30:00
local d = os.date("*t")
print(d.year, d.month, d.day)

os.getenv

تقرأ os.getenv(name) متغيرًا من متغيرات البيئة. وتُرجع nil إذا لم يكن مضبوطًا.

local path = os.getenv("PATH")
print(path and path:sub(1, 50) or "not set")

os.execute وos.exit

تشغّل os.execute(cmd) أمر shell وتُرجع رمز الخروج. وتنهي os.exit(code) العملية.

local ok = os.execute("echo hello")
print("exit status:", ok)

os.rename وos.remove

تعيد os.rename(old, new) تسمية ملف أو تنقله. وتحذف os.remove(path) ملفًا أو مجلدًا فارغًا. وتُرجع كلتاهما nil مع الخطأ عند الفشل.

نظرة عامة على الوحدة io

توفر الوحدة io عمليات إدخال وإخراج الملفات. تُفتح الملفات باستخدام io.open، وتُقرأ باستخدام file:read، وتُكتب باستخدام file:write.

io.lines

تُرجع io.lines(filename) مكرّرًا لأسطر ملف. ويُغلق الملف تلقائيًا عند الانتهاء.

for line in io.lines("data.txt") do
  print(line)
end

io.read من stdin

تقرأ io.read() سطرًا من الإدخال القياسي. وتقرأ io.read("*n") عددًا، بينما تقرأ io.read("*a") كل الإدخال القياسي.

io.write("Enter name: ")
local name = io.read()
print("Hello, " .. name)

io.popen

تفتح io.popen(cmd, mode) قناة إلى أمر shell أو منه. اقرأ مخرجات الأمر كما تقرأ مؤشر ملف.

local f = io.popen("date")
local date = f:read("*l")
f:close()
print(date)

stdin وstdout وstderr

إن io.stdin وio.stdout وio.stderr مؤشرات ملفات مفتوحة مسبقًا للتدفقات القياسية.

io.stderr:write("Error: something went wrong\n")

سؤال حول os/io

أي دالة تُرجع وقت وحدة المعالجة المركزية الذي استخدمه البرنامج؟

مراجعة: مكتبتا os وio

تتعامل مكتبة os مع الوقت والبيئة والعمليات وعمليات نظام الملفات. وتتعامل مكتبة io مع إدخال وإخراج الملفات والقنوات والتدفقات القياسية. وتغطي المكتبتان معًا معظم احتياجات التفاعل مع النظام.

الأسئلة الشائعة

هل درس «مكتبتا os وio» مجاني؟

نعم — نص درس «مكتبتا os وio» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Lua Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Lua Academy 4 دروس في المجموع.

ماذا ستتعلم في «مكتبتا os وio»؟

يمكنك الوصول إلى وقت النظام ومتغيرات البيئة ونظام الملفات وstdin/stdout تتمرن على Lua Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Lua Academy؟

لا تُشترط خبرة سابقة. Lua Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «مكتبتا os وio»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Lua Academy هذا؟

نعم. كل درس في Lua Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. دوال مكتبة math
  2. دوال مكتبة table
  3. مكتبتا os وio
  4. مكتبة debug
← العودة إلى Lua Academy