Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

تعريف المتغيرات بـ متغير وكائن، "التعريف المرن" #46

Open
MuhammadSawalhy opened this issue Dec 31, 2021 · 0 comments
Labels
documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة

Comments

@MuhammadSawalhy
Copy link
Collaborator

MuhammadSawalhy commented Dec 31, 2021

جاري تطوير نسخة جديدة بتغيير داخلي جذري، حيث لاوجود ل نص أو عدد، وإنما متغير حيث هو عبارة عن كائن يقبل ويعطي كل أنواع البيانات، شيئ ما شبيه بخورزميات عمل جافاسكريبت أو البايثون.

متغير م  = 6
متغير ج  = "4"
م  = م + ج
اطبع ( م ) -- -> 10

السر هنا يكمن في operator overloading، وهي خاصية في C++ يمكننا استغلالها لتصميم صنف بلغة ألف يقبل ويعطي كل أنواع البيانات اللتي نحتاجها، وبالتالي يمكننا التركيز على تطوير خصائص أخرى في لغة ألف، وترك مهمة المتغيرات لمترجم C++

https://en.cppreference.com/w/cpp/language/operators

دالة متغير الجمع ( متغير أ، متغير ب )
   إرجاع أ + ب
نهاية دالة

متغير ب = 3.14

متغير ج = صحيح

متغير ن = "أهلا"

كائن تلميد = التلاميد()

يعني في لغة ألف، إما تنشئ متغير يقبل ويعطي كل أنواع البيانات، أو تنشئ كائن لصنف ما.

أعتقد أن هده الطريقة ستأخد مشروع ألف لمستوى أفظل.

ما رأيكم ؟

Originally posted by @hassandraga in #38 (comment)

@MuhammadSawalhy MuhammadSawalhy added enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق labels Dec 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation / التوثيق Improvements or additions to documentation / اضافة او تحسين التوثيق enhancement / تحسينات New feature or request/ طلب أو شرح فكرة جديدة
Projects
None yet
Development

No branches or pull requests

1 participant