mustafa
مهندس ، مبرمج، مصمم، ورائد أعمال صغير، مؤسس مناري لتقنية المعلومات
296
444 ألف مشاهدات المحتوى
عضو منذ
#مقدمة في لٌوا لو عبارة عن لغة برمجة للإضافات "Extension Programming Language" صممت لتدعم نمط البرمجة الإجرائية أو ما يسمى بالـ Procedural Programming مع مرافق وصف البيانات. لُوا صممت لتستخدم كلغة برمجة قوية وخفيفة الحمل لأي برنامج يحتاجه المرء. ##سأكتب إن شاء الله تعالى في سلسلة عن المواضيع التالي: * العمليات - Conventions https://io.hsoub.com/go/5534 * الأنواع والقيم - Types and Values https://io.hsoub.com/go/5965 * الجداول - Tables https://io.hsoub.com/go/12018 * المتغيرات - Variables https://io.hsoub.com/go/18616 * التعبيرات - Expressions https://io.hsoub.com/go/35360 * العمليات -
لُوا كما يطلق عليها ومعناها "قمر" في البرتغالية، هي لغة برمجة سهلة جداً وقوية، برازيلية المنشأ على بيد البرفيسور روبرتو آيروساليمستشي. وتعتبر من اللغات متعددة أنماط البرمجة، بحيث أنها تدعم أكثر من نمط برمجي واحد: http://en.wikipedia.org/wiki/Multi-paradigm_programming_language#Multi-paradigm لُوا لا تدعم بشكل مباشر البرمجة كائنية التوجه أو الـ OOP، ولكن يمكن وبكل بساطة جعلها كذلك بواسطة "الجداول الوصفية" أو الـ metatables : http://en.wikipedia.org/wiki/Metatable لُوا تسمح للمبرمجين لإضافة المتغيرات تحت اسم واحد أو namespaces وإضافة التصنيف أو الـ classes وذلك عن طريق الاستعانة
هل الطريقة المثلى هي البدأ في تصميم موقع من ناحية التكويد (CSS + HTML) على الموبايل، أم البدأ بالشاشات ذات الأحجام الكبير.
سابدأ إن شاء الله أول درس في مقدمة لتعلم لغة البرمجة لوا Lua وهو الاتفاقيات - Conventions #الاتفاقيات *الأسماء* (أو كما تسمى بـ *المعرفات*) في لُوا يمكن أن تكون سلسلة من حروف، أرقام و شرطة سفلية (Underscores) *بشرط ألا تبدأ برقم وتكون باللغة الإنجليزية*. هذا يتزامن مع تعريف الأسماء في أغلب لغات البرمجة. تعريف "الحرف" يعتمد على موضعه الحالي: أي حرف أبجدي يعتبر من اللغة الحالية يمكن استخدامه كمعرف (Identifier). المعرفات تستخدم لتسمية المتغيرات (Variables) وحقول الجداول (Table Fields). ###الكلمات
نعود إلى لُوا وهذه المرة نستكمل سلسلة الدروس المتعلقة بها حيث توقفنا في الموضوع الأخير عند *الأنواع والقيم - Types and Values* ##الجداول في لُوا، سهلة، قوية، مرنة ولا يمكن الاستغناء عنها أبداً ! > الجداول هي *الآلية الوحيدة* في هيكلة البيانات في لوا. تقوم الجداول بإنشاء مصفوفات ترابطية "Associative Arrays"، وهذا يعني أن المصفوفات يمكن فهرستها ليس فقط بالأرقام، ولكن مع أي قيمة إلا قيمة الفراغ *nil*. الجداول يمكن أن تكون غير متجانسة ويمكن أن تحتوي على قيم من
بالأمس، تحدث بعض الأصدقاء عن كيفية تسعير العمل البرمجي، البعض منهم يقوم بتسعير المشروع حسب *ساعات العمل*، والآخر يقدم *تسعيرة ثابتة* Flat rate. فكيف تقوم بتسعير العمل البرمجي؟ اتمنى سماع آراء الجميع حتى أنتم يا مجتمع المصممين!
لُوا *لغة برمجة ديناميكية*، وهذا يعني أن المتغيرات ليس لها أنواع؛ القيم فقط بها أنواع. لا توجد تعريفات للنوع في اللغة. كل القيم تحمل الأنواع الخاصة بها. للإطلاع أكثر على تعريف لغات البرمجة الديناميكية: http://en.wikipedia.org/wiki/Dynamic_programming_language كافة القيم في لوا هي *قيم من الدرجة الأولى* أو First-class Values. وهذا يعني أن جميع القيم يمكن تخزينها في المتغيرات، تمريرها كقيم للعمليات، و إعادتها كنتائج. ##الأنواع الأساسية التي يجب أن تهتم بها هي كالتالي: * *nil — فارغ* هذا النوع من القيم والذي
في هذا الموضوع سيتم شرح التالي: 1. العمليات الحسابية Arithmetic Operators 2. العوامل العلائقية Relational Operators 3. العوامل المنطقية Logical Operators 4. التسلسل أو الدمج Concatenation 5. معامل الطول Length Operator 6. معاملات الأسبقية Precedence #العمليات الحسابية لوا تدعم مشغلي الحسابات الثنائية المعتادة أو (binary arithmetic operators): + (addition) - (subtraction) * (multiplication) / (division) % (modulo) ^ (exponentiation) لو تدعم أيضا علامة السالب الأحادي *-* إذا كانت المعاملات أرقام numbers أو متسلسلات strings يمكن تحويلها إلا أرقام، جميع العمليات
السلام عليكم، #أينكم عن Corona SDK ؟! من المعروف أن منصة *Corona SDK* من المنصات الرائدة بحق في تطوير تطبيقات لأنظمة تشغيل مختلفة كالـ: - iOS - Android - tvOS - Mac OS X - Window لماذا لا يوجد إقبال من المبرمجين العرب على منصة كهذه مع المزايا التي تحملها؟ - ###كود برمجي واحد - ###سرعة في الإنتاجية مقارنة بالمنصات الأخرى - ###لغة برمجة سهلة جداً إذا كانت لك مشاركة بهذه المنصة، شاركنا في التعليقات لو سمحت. رابط المنصة: >
لا يهم كون البرنامج بأيدي عربية أو غربية، ماهو الخيار الأمثل لبرامج نقاط البيع أو ما يسمى بالـ Point of Sales ؟ اعلم هناك خيارات كثيرة، بعضها يوجد ضمن باقة سحابية وآخر لا يحتاج إلا لجهاز محلي، وغيرها من المزايا والخصائص الأخرى. افيدوني جوزيتم خيراً
نعود لإكمال السلسة بعد غياب خمسة أشهر وهذه المرة مع **المتغيرات** أو الـ **Variables** #المتغيرات ببساطة يمكن أن نعرف المتغيرات في لوا على أنها **أماكن لحفظ القيم**. هناك ثلاثة أنواع من المتغيرات: **عالمية المجال، محلية المجال، وحقول مجدولة** (global, local & table fields). أي متغير غير معرّف مسبقاً فهو nil بشكل افتراضيا و nil هنا تعني أنه لا توجد قيمة معينه للمتغير أو أنه فارغ. ##عالمية المجال المتغيرات العالمية لا تحتاج لتعريفه "Declarations". يمكنك ببساطة تعيين قيمة لإنشائه: print( s
في مجتمع المطورين -في الغالب- يعتمد اختيار الأدوات المناسبة لتطوير التطبيقات بالدرجة الأولى على احتياجات الشخص المطور والخصائص التي يقدمها التطبيق نفسه. ومن المعروف تعدد منصات التطوير أو *حزمة أدوات تطوير البرمجيات* أو ما يطلق عليها بالـ *Software Developer Kit* أو مختصرةً بالـ SDK لتطوير تطبيقات تستهدف بالدرجة الأولى أنظمة تشغيل الهواتف الذكية كالـ Android أو iOS و غيرها. وكأمثلة على الحزم التطويرية على بيئة عمل Native: 1. xCode 2. Android SDK وغيرها مما يستهدف كلا النظامين بمفهوم *كود برمجي
في هذا الموضوع سيتم شرح **العمليات** أو **الوظائف** والتي تسمى بالـ **Functions** في لغة البرمجة لوا العمليات/الوظائف كما هو المتوقع منها في أغلب لغات البرمجة عبارة عن مهمة واحدة أو مجموعة من المهام وعادة ما نقوم بتمرير بعض **المدخلات inputs** أو **parameters** (داخل الأقواس) كما في المثال بالأسفل. العملية تقوم بعمل بعض **المهام tasks** وبعد الإنتهاء من المهمة تقوم بطباعة النتيجة إن اردت. وفيما يلي الطرق الشائعة لكتابة العمليات/الوظائف: local function f () --body end local f = function() --body