> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/flow-control/get-batch-size.md).

# Get Batch Size

هذه الدالة تُرجع عدد العناصر في دفعة (batch) أو قائمة مُعطاة. تفيد هذه القيمة في التحكم بتدفق السيناريو، التسجيل (logging)، واتخاذ قرارات التفريع عند العمل مع بيانات مجمعة.

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

* `Batch` مدخل يستقبل دفعة/قائمة من العناصر لقياسها.
  * Socket: Input

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

* `Size` قيمة رقمية تمثل عدد العناصر في الـ `Batch` المقدم.
  * Socket: Output

## 🕹️ عناصر التحكم <a href="#controls" id="controls"></a>

* `No Controls` هذا البلوك لا يوفر عناصر تفاعل (widgets) قابلة للتعديل.

## ⚙️ آلية العمل <a href="#running-mechanism" id="running-mechanism"></a>

عند استلام هذا البلوك لدفعة على منفذ المدخل، يقوم بحساب عدد العناصر ويُخرج العدد الحالي على مخرج `Size`. ضع هذا البلوك بعد أي عملية تُنشئ أو تُدمج دفعات للحصول على عدد فوري للاستخدام في اتخاذ القرار أو التسجيل.

استخدم بلوكات مساعدة (انظر النصائح والحيل) للتحقق أو تعديل الدفعة قبل إدخالها، حتى تكون قياسات الحجم موثوقة حتى لو كانت البيانات الواردة ناقصة أو ديناميكية.

## 🎯 الميزات <a href="#features" id="features"></a>

* بلوك بسيط ومخصص يوفر قياسًا رقميًا فوريًا لحجم أي دفعة/قائمة.
* يعمل كأداة خفيفة للتحكم بالتدفق لتشغيل منطق شرطي بناءً على طول الدفعة.
* متوافق مع بلوكات إنتاج الدُفعات العامة في فئات التحكم بالتدفق ومعالجة البيانات.

## 📝 طريقة الاستخدام <a href="#usage" id="usage"></a>

* ضع هذا البلوك بعد أي بلوك يُخرج قائمة/دفعة للحصول على عدد العناصر المارة.
* أوصل مخرج `Size` إلى بلوكات مقارنة أو منطق (مثل `Greater`, `Equals`, `Logic Input`) لتفرع السيناريو وفقًا لعدد العناصر.
* دمجه مع بلوكات التسجيل أو التصدير لتسجيل عدد العناصر المعالجة في كل تشغيل.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* استخدمه مع `Batch Processing` عند إنشاء دفعات لغرض معالجة فعّالة للذاكرة؛ وصل مخرج الدفعة إلى `Batch` هنا لمراقبة أحجام الدُفعات.
* بعد تقسيم دفعة باستخدام `Debatch`، أعِد توصيل الأجزاء واستخدم هذا البلوك للتحقق من حجم القوائم المعاد تجميعها.
* ادمجه مع `Get Element` للتحقق من طول الدفعة قبل محاولة الوصول إلى فهرس؛ هذا يمنع الوصول خارج النطاق.
* عند دمج دفعات متعددة، استخدم `Batch Concatenation` أولا، ثم هذا البلوك للتأكد من الحجم الناتج.
* إذا كان المصدر العلوي قد لا يزود بيانات، ضع هذا البلوك مع `Is None` أو `Replace None` لضمان سلوك مستقر وتجنّب الأخطاء غير المتوقعة.

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* إذا أبلغ البلوك عن أحجام غير متوقعة، تحقق أن المدخل هو فعلاً نوع قائمة/دفعة (استخدم التصحيح أو `Debug Input` لفحص المحتوى).
* إذا كان المدخل قد يكون مفقودًا أحيانًا، أضف تحققًا باستخدام `Is None` أو `Replace None` حتى تظل قياسات الحجم متوقعة.
