⚙️ التوافق مع Java (Java Interop) في لغة نفطه
هذا الملف يوضح كيفية التعامل مع مكتبات جافا في لغة نفطه، بما يشمل:
- إنشاء الكائنات (Object Creation)
- استدعاء الدوال الثابتة (Static Methods)
- استدعاء الدوال على الكائنات (Instance Methods)
- التعامل مع Optional، List، UUID، وأنواع رقمية مختلفة
- تحويل الأنواع بين نفطه وجافا
📌 إنشاء الكائنات (Object Creation)
| نوع الكائن |
الطريقة في نفطه |
مثال عملي |
| Object عام |
جافا:لغة:كائن_() |
ثابت كائن = جافا:لغة:كائن_() |
| UUID من قيم ثابتة |
جافا:أدة:معرف_مستخدم(long, long) |
ثابت معرف_مستخدم = جافا:أدة:معرف_مستخدم(6161415689025233999؛5488940234982179551) |
| UUID عشوائي |
جافا:أدة:معرف_مستخدم::عشوائي_معرف_مستخدم() |
ثابت معرف_مستخدم = جافا:أدة:معرف_مستخدم::عشوائي_معرف_مستخدم() |
| UUID من سلسلة |
جافا:أدة:معرف_مستخدم::من_سلسلة("...") |
ثابت معرف_مستخدم = جافا:أدة:معرف_مستخدم::من_سلسلة("550e8400-e29b-41d4-a716-446655440000") |
| Optional فارغ |
جافا:أدة:اختياري::فارغ_() |
ثابت اختياري = جافا:أدة:اختياري::فارغ_() |
| Optional من قيمة |
جافا:أدة:اختياري::وف(value) |
ثابت اختياري = جافا:أدة:اختياري::وف(10) |
| Optional من كائن قد يكون فارغ |
جافا:أدة:اختياري::وف_فارغابل(value) |
ثابت اختياري = جافا:أدة:اختياري::وف_فارغابل(فارغ) |
| ArrayList فارغ |
جافا:أدة:صفائف_القائمة() |
ثابت قائمة = جافا:أدة:صفائف_القائمة() |
| ArrayList بحجم محدد |
جافا:أدة:صفائف_القائمة(size) |
ثابت قائمة = جافا:أدة:صفائف_القائمة(11000) |
| ArrayList من عناصر محددة |
جافا:أدة:صفائف_القائمة([1؛2؛3]) |
ثابت قائمة = جافا:أدة:صفائف_القائمة([1؛100؛0]) |
📌 التعامل مع الأنواع الرقمية (Integer, Double, Long, Boolean)
| النوع |
إنشاء من سلسلة |
إنشاء من قيمة ثابتة |
تحويل إلى سلسلة |
مثال عملي |
| Integer |
جافا:لغة:مزدوج::قيمة_وف("100") |
100 |
جافا:لغة:فيتگر::إلى_سلسلة(100) |
ثابت أ = جافا:لغة:مزدوج::قيمة_وف("100") |
| Long |
جافا:لغة:طويل_::قيمة_وف("100") |
100L |
جافا:لغة:طويل_::إلى_سلسلة(100) |
ثابت ظ = جافا:لغة:طويل_::قيمة_وف("100") |
| Double |
جافا:لغة:مزدوج::قيمة_وف("100.5") |
100.5 |
جافا:لغة:مزدوج::إلى_سلسلة(100.5) |
ثابت د = جافا:لغة:مزدوج::قيمة_وف"100.5") |
| Boolean |
جافا:لغة:بوولان::قيمة_وف(صحيح) |
صحيح / خطأ |
جافا:لغة:بوولان::إلى_سلسلة(صحيح) |
ثابت ب = جافا:لغة:بوولان::قيمة_وف(صحيح) |
📌 استدعاء الدوال الثابتة من جافا
| الكلاس في جافا |
الدالة |
شرح الاستخدام |
مثال عملي |
| Math |
abs |
القيمة المطلقة |
جافا:لغة:الرياضيات::ابس(-5) |
| Math |
pow |
رفع رقم إلى قوة |
جافا:لغة:الرياضيات::أس(2؛3) |
| Math |
floor / ceil |
تقريب للأسفل / الأعلى |
جافا:لغة:الرياضيات::فلوأو(3،9) و جافا:لغة:الرياضيات::سيل(3،14) |
| Integer / Long |
parseInt / parseLong |
تحويل سلسلة إلى عدد |
جافا:لغة:فيتگر::البريد_فيت("100") و جافا:لغة:طويل_::البريد_طويل("100") |
| Integer / Long |
toBinaryString / toHexString / toOctalString |
تحويل عدد إلى نظام ثنائي / سداسي / ثماني |
جافا:لغة:طويل_::إلى_ثنائية_سلسلة(100) و جافا:لغة:طويل_::إلى_هوكس_سلسلة(100) وجافا:لغة:طويل_::إلى_وكتالألبانيا_سلسلة(100) |
📌 استدعاء الدوال على الكائنات (Instance Methods)
| الكائن / النوع |
الدالة |
شرح الاستخدام |
مثال عملي |
| String (سلسلة نصية) |
length |
طول السلسلة |
جافا:لغة:سلسلة("مرحبا"):::لنگتهاي() → 5 |
| String |
substring(start, end) |
استخراج جزء من السلسلة |
جافا:لغة:سلسلة("مرحبا"):::النفقة(1؛3) → "رح" |
| List |
add(element) |
إضافة عنصر للقائمة |
جافا:أدة:صفائف_القائمة([1؛100؛0]):::إضافة(100) |
| List |
get(index) |
الحصول على عنصر من القائمة |
جافا:أدة:صفائف_القائمة([1؛100؛0]):::گت(0) |
| List |
size |
عدد العناصر في القائمة |
جافا:أدة:صفائف_القائمة([1؛100؛0]):::الحجم() |
| Optional |
get |
الحصول على القيمة إذا كانت موجودة |
جافا:أدة:اختياري::وف(10):::گت() |
| Optional |
orElse(defaultValue) |
الحصول على القيمة أو قيمة افتراضية |
جافا:أدة:اختياري::فارغ_():::أو_لس("لغة نفطه") |
| UUID |
toString |
تحويل UUID إلى سلسلة |
جافا:أدة:معرف_مستخدم::عشوائي_معرف_مستخدم():::إلى_سلسلة() |
✅ أمثلة عملية
---*
مكتبة الرياضيات في جافا
java.lang.Math
*---
---*
نداء مؤهل لدالة القيمة المطلقة Math.abs
java.lang.Math::abs
*---
--- استدعاء Math.abs(-5)، النتيجة ستكون 5
جافا:لغة:الرياضيات::ابس(-5)
--- استدعاء النسخة رقم 0 من دالة abs على القيمة -5
جافا:لغة:الرياضيات::ابس:0(-5)
--- استدعاء النسخة رقم 1 من دالة abs على القيمة -500
جافا:لغة:الرياضيات::ابس:1(-500)
--- استدعاء النسخة رقم 2 من دالة abs على عدد عشري كبير سالب
جافا:لغة:الرياضيات::ابس:2(-555555234،5)
--- استدعاء النسخة رقم 3 من دالة abs على عدد عشري آخر
جافا:لغة:الرياضيات::ابس:3(-512039123،9)
---*
نداء مؤهل لدالة القوس الكلي الموجب Math.acos
java.lang.Math::acos
استدعاء Math.acos(0.5)، النتيجة ستكون زاوية بالـراديان
*---
جافا:لغة:الرياضيات::اكوس(0،5)
---*
نداء مؤهل لدالة القوس الخطيء Math.asin
java.lang.Math::asin
استدعاء Math.asin(0.25)، النتيجة ستكون زاوية بالـراديان
*---
جافا:لغة:الرياضيات::االخطيئة(0،25)
---*
نداء مؤهل لدالة القوس المائل Math.atan
java.lang.Math::atan
استدعاء Math.atan(1.0)، النتيجة ستكون زاوية بالـراديان
*---
جافا:لغة:الرياضيات::أتاني(1،0)
---*
نداء مؤهل لدالة القوس المائل ثنائي Math.atan2
java.lang.Math::atan2
استدعاء Math.atan2(1.0, 2.0)، النتيجة ستكون زاوية بالـراديان
*---
جافا:لغة:الرياضيات::أتاني_٢(1،0؛2،0)
---*
نداء مؤهل لدالة الجذر التكعيبي Math.cbrt
java.lang.Math::cbrt
استدعاء Math.cbrt(27)، النتيجة ستكون 3
*---
جافا:لغة:الرياضيات::كبرت(27)
---*
نداء مؤهل لدالة السقف Math.ceil
java.lang.Math::ceil
استدعاء Math.ceil(3.14)، النتيجة ستكون 4
*---
جافا:لغة:الرياضيات::سيل(3،14)
---*
نداء مؤهل لدالة نسخ الإشارة Math.copySign
java.lang.Math::copySign
استدعاء Math.copySign(2.0, -3.0)، النتيجة ستكون -2.0
*---
جافا:لغة:الرياضيات::نسخ_علامة(2،0؛-3،0)
--- استدعاء النسخة رقم 0 من copySign على القيم نفسها
جافا:لغة:الرياضيات::نسخ_علامة:0(2،0؛-3،0)
--- استدعاء النسخة رقم 1 من copySign على القيم نفسها
جافا:لغة:الرياضيات::نسخ_علامة:1(2،0؛-3،0)
---*
نداء مؤهل لدالة جيب التمام Math.cos
java.lang.Math::cos
استدعاء Math.cos(1.57)، النتيجة ستكون تقريبًا 0
*---
جافا:لغة:الرياضيات::كوس(1،57)
---*
نداء مؤهل لدالة الجيب الزائدي Math.cosh
java.lang.Math::cosh
استدعاء Math.cosh(0.5)، النتيجة ستكون تقريبًا 1.1276
*---
جافا:لغة:الرياضيات::كوش(0،5)
---*
نداء مؤهل لدالة الأسس Math.exp
java.lang.Math::exp
استدعاء Math.exp(1.0)، النتيجة ستكون e ≈ 2.71828
*---
جافا:لغة:الرياضيات::نفقة(1،0)
---*
نداء مؤهل لدالة expm1 (e^x - 1) Math.expm1
java.lang.Math::expm1
استدعاء Math.expm1(1.0)، النتيجة ≈ 1.71828
*---
جافا:لغة:الرياضيات::انفجار_١(1،0)
---*
نداء مؤهل لدالة الأرضية Math.floor
java.lang.Math::floor
استدعاء Math.floor(3.9)، النتيجة ستكون 3
*---
جافا:لغة:الرياضيات::فلوأو(3،9)
---*
مكتبة الكائنات في جافا
java.util.Objects
*---
---*
نداء مؤهل لدالة checkIndex
java.util.Objects::checkIndex
استدعاء Objects.checkIndex(5, 10)، للتحقق من أن الفهرس صالح ضمن الحجم، النتيجة 5
*---
جافا:أدة:الكائنات::شيك_فيدسابق(5؛10)
--- استدعاء النسخة رقم 0 من checkIndex
جافا:أدة:الكائنات::شيك_فيدسابق:0(5؛10)
--- استدعاء النسخة رقم 1 من checkIndex
جافا:أدة:الكائنات::شيك_فيدسابق:1(5؛10)
---*
نداء مؤهل لدالة checkFromIndexSize
java.util.Objects::checkFromIndexSize
استدعاء Objects.checkFromIndexSize(2, 5, 10)، للتحقق من صحة النطاق ضمن الحجم
*---
جافا:أدة:الكائنات::شيك_من_فيدسابق_الحجم(2؛5؛10)
---*
نداء مؤهل لدالة equals
java.util.Objects::equals
استدعاء Objects.equals("a", "b")، النتيجة false
*---
جافا:أدة:الكائنات::متساوية("a"؛"b")
--- استدعاء النسخة رقم 0 من equals
جافا:أدة:الكائنات::متساوية:0("a"؛"b")
--- استدعاء النسخة رقم 1 من equals
جافا:أدة:الكائنات::متساوية:1("a"؛"b")
---*
نداء مؤهل لدالة deepEquals
java.util.Objects::deepEquals
استدعاء Objects.deepEquals([1,2,3], [1,2,3])، النتيجة true
*---
جافا:أدة:الكائنات::عميق_متساوية([1؛2؛3]؛[1؛2؛3])
---*
نداء مؤهل لدالة hash
java.util.Objects::hash
استدعاء Objects.hash("كائن", 123, false)، لإنتاج قيمة تجزئة
*---
جافا:أدة:الكائنات::هتاف(("كائن"؛123؛خاطئ))
---*
نداء مؤهل لدالة hashCode
java.util.Objects::hashCode
استدعاء Objects.hashCode("كائن")، لإنتاج رمز تجزئة للكائن
*---
جافا:أدة:الكائنات::هتاف_رمز("كائن")
---*
نداء مؤهل لدالة requireNonNull
java.util.Objects::requireNonNull
استدعاء Objects.requireNonNull("جافا")، يتحقق أن الكائن غير فارغ
*---
جافا:أدة:الكائنات::الاحتياجات_غير_فارغ("جافا")
--- استدعاء على قيمة فارغة للتجربة مع try-catch
حاول(جافا:أدة:الكائنات::الاحتياجات_غير_فارغ(فارغ)){
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع("فشل")
}
---*
نداء مؤهل لدالة requireNonNullElse
java.util.Objects::requireNonNullElse
استدعاء Objects.requireNonNullElse(null, "جافا")، النتيجة "جافا" إذا كانت القيمة فارغة
*---
جافا:أدة:الكائنات::الاحتياجات_غير_فارغ_لس(فارغ؛"جافا")
---*
نداء مؤهل لدالة toString
java.util.Objects::toString
استدعاء Objects.toString(1) -> "1"
*---
جافا:أدة:الكائنات::إلى_سلسلة(1)
--- استدعاء النسخة رقم 0 من toString
جافا:أدة:الكائنات::إلى_سلسلة:0(1)
--- استدعاء النسخة رقم 1 من toString مع قيمة افتراضية
جافا:أدة:الكائنات::إلى_سلسلة:1(1؛"2")
--- استدعاء النسخة رقم 1 من toString على قيمة فارغة مع قيمة افتراضية
جافا:أدة:الكائنات::إلى_سلسلة:1(فارغ؛"2")
---*
نداء مؤهل لدالة isNull
java.util.Objects::isNull
استدعاء Objects.isNull(null) -> true
*---
جافا:أدة:الكائنات::هو_فارغ(فارغ)
--- استدعاء على قيمة غير فارغة
جافا:أدة:الكائنات::هو_فارغ(12132)
---*
نداء مؤهل لدالة nonNull
java.util.Objects::nonNull
استدعاء Objects.nonNull(null) -> false
*---
جافا:أدة:الكائنات::غير_فارغ(فارغ)
--- استدعاء على قيمة غير فارغة
جافا:أدة:الكائنات::غير_فارغ(12132)
---*
نداء مؤهل لدالة compare باستخدام Comparator طبيعي
java.util.Objects::compare
استخدام java.util.Comparator::naturalOrder
استدعاء Objects.compare("جافا", "جافا", مقارن_الترتيب_الطبيعي) -> 0
*---
ثابت مقارن_الترتيب_الطبيعي تعيين جافا:أدة:مقارن::الطبيعية_الأمر()
جافا:أدة:الكائنات::المقارنة("جافا"؛"جافا"؛مقارن_الترتيب_الطبيعي)
---*
مكتبة الصفائف في جافا
java.util.Arrays
*---
---*
نداء مؤهل لدالة asList
java.util.Arrays::asList
استدعاء Arrays.asList([1,2,3])، يحول المصفوفة إلى قائمة
*---
جافا:أدة:صفائف::اس_القائمة([1؛2؛3])
---*
نداء مؤهل لدالة binarySearch
java.util.Arrays::binarySearch
استدعاء Arrays.binarySearch([1,2,3],3)، يبحث عن العنصر 3 في المصفوفة
*---
جافا:أدة:صفائف::ثنائية_البحث([1؛2؛3]؛3)
---*
نداء مؤهل لدالة compare
java.util.Arrays::compare
استدعاء Arrays.compare([1,2,3],[1,2,3])، يقارن مصفوفتين
*---
جافا:أدة:صفائف::المقارنة([1؛2؛3]؛[1؛2؛3])
جافا:أدة:صفائف::المقارنة([1؛2؛3]؛[1؛3])
جافا:أدة:صفائف::المقارنة([1؛2؛3]؛0؛2؛[1؛2]؛0؛2)
جافا:أدة:صفائف::المقارنة([صحيح؛خطأ؛صحيح]؛[حقيقي؛خاطئ؛صائب])
جافا:أدة:صفائف::المقارنة([صحيح؛خطأ؛صحيح]؛0؛2؛[خطأ؛صحيح]؛0؛2)
جافا:أدة:صفائف::المقارنة(['أ', 'ب', 'ج']؛['أ'؛'ب'؛'ج'])
جافا:أدة:صفائف::المقارنة(['أ', 'ب', 'ج']؛0؛2؛['أ'؛'ب'؛'ج']؛0؛2)
جافا:أدة:صفائف::المقارنة(["كائن", "نفطه", "جافا"]؛["نفطه"؛"جافا"؛"كائن"])
جافا:أدة:صفائف::المقارنة(["كائن", "نفطه"]؛0؛2؛["نفطه"؛"جافا"؛"كائن"]؛0؛2)
---*
نداء مؤهل لدالة compareUnsigned
java.util.Arrays::compareUnsigned
استدعاء Arrays.compareUnsigned([1,2,3],[1,2,3])، مقارنة غير سالبة للمصفوفات
*---
جافا:أدة:صفائف::المقارنة_نموقع([1؛2؛3]؛[1؛2؛3])
جافا:أدة:صفائف::المقارنة_نموقع([1؛2؛3]؛0؛2؛[1؛2]؛0؛2)
---*
نداء مؤهل لدالة copyOf
java.util.Arrays::copyOf
استدعاء Arrays.copyOf([1,2,3],10)، ينسخ المصفوفة ويوسعها للطول 10
*---
جافا:أدة:صفائف::نسخ_وف([1؛2؛3]؛10)
---*
نداء مؤهل لدالة copyOfRange
java.util.Arrays::copyOfRange
استدعاء Arrays.copyOfRange([1,2,3],0,2)، ينسخ جزء من المصفوفة من 0 إلى 2
*---
جافا:أدة:صفائف::نسخ_وف_النطاق([1؛2؛3]؛0؛2)
---*
نداء مؤهل لدالة deepEquals
java.util.Arrays::deepEquals
استدعاء Arrays.deepEquals([...],[...])، يتحقق من تساوي المصفوفات متعددة الأبعاد
*---
جافا:أدة:صفائف::عميق_متساوية([1؛[1؛[1؛2؛[[1؛2؛3]؛2؛3]]؛3]؛3]؛[1؛[1؛[1؛2؛[[1؛2؛3]؛2؛3]]؛3]؛3])
---*
نداء مؤهل لدالة deepHashCode
java.util.Arrays::deepHashCode
استدعاء Arrays.deepHashCode([...])، يحسب كود هاش لمصفوفة متعددة الأبعاد
*---
جافا:أدة:صفائف::عميق_هتاف_رمز([1؛[1؛[1؛2؛[[1؛2؛3]؛2؛3]]؛3]؛3])
---*
نداء مؤهل لدالة deepToString
java.util.Arrays::deepToString
استدعاء Arrays.deepToString([...])، يحول مصفوفة متعددة الأبعاد إلى سلسلة
*---
جافا:أدة:صفائف::عميق_إلى_سلسلة([1؛[1؛[1؛2؛[[1؛2؛3]؛2؛3]]؛3]؛3])
---*
نداء مؤهل لدالة equals
java.util.Arrays::equals
استدعاء Arrays.equals([1,2,3],[1,2,3])، يتحقق من تساوي المصفوفات
*---
جافا:أدة:صفائف::متساوية([1؛2؛3]؛[1؛2؛3])
---*
نداء مؤهل لدالة fill لملء الصفائف
java.util.Arrays::fill
استدعاء Arrays.fill(قائمة, 1)، يملأ كل عناصر القائمة بالقيمة 1
*---
ثابت قائمة_ تعيين [0؛0؛0]
جافا:أدة:صفائف::ملئ(قائمة_؛1)
--- استدعاء نسخة محددة fill:15 على نفس القائمة
جافا:أدة:صفائف::ملئ:15(قائمة_؛1)
---*
استدعاء Arrays.fill(قائمة_رموز, 'ب')، يملأ كل عناصر قائمة الرموز بالحرف 'ب'
*---
ثابت قائمة_رموز تعيين [’أ’؛’أ’؛’أ’]
جافا:أدة:صفائف::ملئ(قائمة_رموز؛’ب’)
--- استدعاء نسخة محددة fill:1 على نفس القائمة
جافا:أدة:صفائف::ملئ:1(قائمة_رموز؛’ب’)
---*
استدعاء Arrays.fill(قائمة_بوليان, خطأ)، يملأ كل عناصر القائمة بالقيمة false
*---
ثابت قائمة_بوليان تعيين [صحيح؛خطأ؛صحيح]
جافا:أدة:صفائف::ملئ(قائمة_بوليان؛خطأ)
--- استدعاء نسخة محددة fill:12 على نفس القائمة بالقيمة true
جافا:أدة:صفائف::ملئ:12(قائمة_بوليان؛صحيح)
---*
استدعاء Arrays.fill(قائمة_تسلسل_أحرف, "ب")، يملأ كل عناصر القائمة بالسلسلة "ب"
*---
ثابت قائمة_تسلسل_أحرف تعيين ["أ"؛"أ"؛"أ"]
جافا:أدة:صفائف::ملئ(قائمة_تسلسل_أحرف؛"ب")
--- استدعاء نسخة محددة fill:1 على نفس القائمة
جافا:أدة:صفائف::ملئ:1(قائمة_تسلسل_أحرف؛"ب")
--- استدعاء نسخة محددة fill:6 على نفس القائمة
جافا:أدة:صفائف::ملئ:6(قائمة_تسلسل_أحرف؛"ب")
---*
نداء مؤهل لدالة sort لفرز الصفائف
java.util.Arrays::sort
استدعاء Arrays.sort(قائمة)، يرتب عناصر القائمة ترتيبًا تصاعديًا
*---
جافا:أدة:صفائف::هكذارت(قائمة_)
--- استدعاء نسخة محددة sort:15 على نفس القائمة
جافا:أدة:صفائف::هكذارت:15(قائمة_)
---*
استدعاء Arrays.sort(قائمة_رموز)، يرتب عناصر قائمة الرموز ترتيبًا تصاعديًا
*---
جافا:أدة:صفائف::هكذارت(قائمة_رموز)
--- استدعاء نسخة محددة sort:3 على نفس القائمة
جافا:أدة:صفائف::هكذارت:3(قائمة_رموز)
---*
استدعاء Arrays.sort(قائمة_تسلسل_أحرف_1)، يرتب عناصر القائمة ترتيبًا تصاعديًا
*---
ثابت قائمة_تسلسل_أحرف_1 تعيين ["ب"؛"أ"؛"ب"]
جافا:أدة:صفائف::هكذارت(قائمة_تسلسل_أحرف_1)
--- استدعاء نسخة محددة sort:3 على نفس القائمة
جافا:أدة:صفائف::هكذارت:3(قائمة_تسلسل_أحرف_1)
--- استدعاء نسخة محددة sort:17 على نفس القائمة
جافا:أدة:صفائف::هكذارت:17(قائمة_تسلسل_أحرف_1)
---*
مكتبة التجميعات في جافا
java.util.Collections
*---
---*
نداء مؤهل لدالة binarySearch
java.util.Collections::binarySearch
استدعاء Collections.binarySearch([1,2,3],3)، يبحث عن العنصر 3 في القائمة
*---
جافا:أدة:بنى_المعطيات::ثنائية_البحث([1؛2؛3]؛3)
---*
نداء مؤهل لدالة copy
java.util.Collections::copy
استدعاء Collections.copy(القائمة_المستهدفة,[1,2,3])، ينسخ عناصر القائمة المصدر إلى القائمة المستهدفة
*---
ثابت القائمة_المستهدفة تعيين [0؛0؛0]
جافا:أدة:بنى_المعطيات::نسخ(القائمة_المستهدفة؛[1؛2؛3])
---*
نداء مؤهل لدالة disjoint
java.util.Collections::disjoint
استدعاء Collections.disjoint(list1,list2)، يتحقق مما إذا كانت القائمتان لا تشتركان بأي عناصر
*---
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([]،[])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([]،[1])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([1]،[1])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([]،["أ"])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(["أ"]،["أ"])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([]،[’ب’])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([’ب’]،[’ب’])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([]،[صحيح])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت([صحيح]،[صحيح])
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(()،())
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(()،(1؛))
جافا:أدة:بنى_المعطيات::الدينسالانضمامت((10؛)،(10؛))
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(#{}،#{})
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(#{}،#{خطأ})
جافا:أدة:بنى_المعطيات::الدينسالانضمامت(#{خطأ}،#{خطأ})
---*
نداء مؤهل لدوال emptyEnumeration, emptyIterator, emptyMap, emptySet
java.util.Collections::emptyEnumeration
java.util.Collections::emptyIterator
java.util.Collections::emptyMap
java.util.Collections::emptySet
تُستخدم للحصول على تعداد، مكرر، خريطة أو مجموعة فارغة
*---
--- java.util.Collections::emptyEnumeration نداء
جافا:أدة:بنى_المعطيات::فارغ_التعداد()
--- java.util.Collections::emptyIterator نداء
جافا:أدة:بنى_المعطيات::فارغ_مكرر()
--- java.util.Collections::emptyMap نداء
جافا:أدة:بنى_المعطيات::فارغ_خريطة()
--- java.util.Collections::emptySet نداء
جافا:أدة:بنى_المعطيات::فارغ_مجموعة()
---*
نداء مؤهل لدالة fill
java.util.Collections::fill
استدعاء Collections.fill(list,value)، يملأ القائمة بالقيمة المحددة
*---
جافا:أدة:بنى_المعطيات::ملئ(قائمة_؛1)
جافا:أدة:بنى_المعطيات::ملئ(قائمة_رموز؛’ب’)
جافا:أدة:بنى_المعطيات::ملئ(قائمة_بوليان؛خطأ)
جافا:أدة:بنى_المعطيات::ملئ(قائمة_تسلسل_أحرف؛"ب")
---*
نداء مؤهل لدالة frequency
java.util.Collections::frequency
استدعاء Collections.frequency(list,element)، يحسب عدد مرات ظهور عنصر في القائمة
*---
جافا:أدة:بنى_المعطيات::التردد([]،1)
جافا:أدة:بنى_المعطيات::التردد([1]،1)
جافا:أدة:بنى_المعطيات::التردد([1]،2)
جافا:أدة:بنى_المعطيات::التردد([]،"أ")
جافا:أدة:بنى_المعطيات::التردد(["أ"]،"أ")
جافا:أدة:بنى_المعطيات::التردد(["أ"]،"ب")
جافا:أدة:بنى_المعطيات::التردد([]،’ب’)
جافا:أدة:بنى_المعطيات::التردد([’ب’]،’ب’)
جافا:أدة:بنى_المعطيات::التردد([’ب’]،’أ’)
جافا:أدة:بنى_المعطيات::التردد([]،صحيح)
جافا:أدة:بنى_المعطيات::التردد([صحيح]،صحيح)
جافا:أدة:بنى_المعطيات::التردد([صحيح]،خطأ)
جافا:أدة:بنى_المعطيات::التردد(()،1)
جافا:أدة:بنى_المعطيات::التردد((10؛)؛10)
جافا:أدة:بنى_المعطيات::التردد((10؛)؛1)
جافا:أدة:بنى_المعطيات::التردد(#{}،خطأ)
جافا:أدة:بنى_المعطيات::التردد(#{خطأ}،خطأ)
جافا:أدة:بنى_المعطيات::التردد(#{خطأ}،صحيح)
---*
نداء مؤهل لدوال indexOfSubList و lastIndexOfSubList
java.util.Collections::indexOfSubList
java.util.Collections::lastIndexOfSubList
تبحث عن أول/آخر ظهور للقائمة الفرعية ضمن قائمة أكبر
*---
--- java.util.Collections::indexOfSubList نداء
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([]،[])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([1؛2؛1؛3]،[1])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([1]،[1])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([]،["أ"])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(["ب"؛"أ"؛"ب"؛"أ"]،["أ"])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([]،[’ب’])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([’أ’؛’ب’؛’أ’؛’ب’]،[’ب’])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([]،[صحيح])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة([حقيقي؛خاطئ؛صائب؛خاطئ]،[صحيح])
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(()،())
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(()،(1؛))
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة((1؛2؛1؛3)،(1؛))
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(#{}،#{})
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(#{}،#{خطأ})
جافا:أدة:بنى_المعطيات::فيدسابق_وف_سوب_القائمة(#{حقيقي؛خاطئ}،#{خطأ})
--- java.util.Collections::lastIndexOfSubList نداء
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([]،[])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([1؛2؛1؛3]،[1])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([1]،[1])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([]،["أ"])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(["ب"؛"أ"؛"ب"؛"أ"]،["أ"])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([]،[’ب’])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([’أ’؛’ب’؛’أ’؛’ب’]،[’ب’])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([]،[صحيح])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة([حقيقي؛خاطئ؛صائب؛خاطئ]،[صحيح])
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(()،())
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(()،(1؛))
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة((1؛2؛1؛3)،(1؛))
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(#{}،#{})
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(#{}،#{خطأ})
جافا:أدة:بنى_المعطيات::الأخير_فيدسابق_وف_سوب_القائمة(#{خاطئ؛صائب}،#{خطأ})
---*
نداء مؤهل لدوال max و min
java.util.Collections::max
java.util.Collections::min
تُستخدم لإيجاد أكبر أو أصغر عنصر في قائمة، يمكن استخدام Comparator لتحديد معيار الترتيب
*---
--- java.util.Collections::max نداء
جافا:أدة:بنى_المعطيات::أميكس([1؛2؛1؛3])
جافا:أدة:بنى_المعطيات::أميكس(["ب"؛"أ"؛"ب"؛"أ"])
جافا:أدة:بنى_المعطيات::أميكس([’أ’؛’ب’؛’أ’؛’ب’])
جافا:أدة:بنى_المعطيات::أميكس([حقيقي؛خاطئ؛صائب؛خاطئ])
جافا:أدة:بنى_المعطيات::أميكس((1؛2؛1؛3))
جافا:أدة:بنى_المعطيات::أميكس(#{خاطئ؛صائب})
--- java.util.Comparator::naturalOrder نداء بإستعمال
جافا:أدة:بنى_المعطيات::أميكس([1؛2؛1؛3]؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::أميكس(["ب"؛"أ"؛"ب"؛"أ"]؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::أميكس([’أ’؛’ب’؛’أ’؛’ب’]؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::أميكس([حقيقي؛خاطئ؛صائب؛خاطئ]؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::أميكس((1؛2؛1؛3)؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::أميكس(#{خاطئ؛صائب}؛مقارن_الترتيب_الطبيعي)
--- java.util.Collections::min نداء
جافا:أدة:بنى_المعطيات::مفي([1؛2؛1؛3])
جافا:أدة:بنى_المعطيات::مفي(["ب"؛"أ"؛"ب"؛"أ"])
جافا:أدة:بنى_المعطيات::مفي([’أ’؛’ب’؛’أ’؛’ب’])
جافا:أدة:بنى_المعطيات::مفي([حقيقي؛خاطئ؛صائب؛خاطئ])
جافا:أدة:بنى_المعطيات::مفي((1؛2؛1؛3))
جافا:أدة:بنى_المعطيات::مفي(#{خاطئ؛صائب})
--- java.util.Comparator::naturalOrder نداء بإستعمال
ثابت مقارن_الترتيب_الطبيعي_1 تعيين جافا:أدة:مقارن::الطبيعية_الأمر()
جافا:أدة:بنى_المعطيات::مفي([1؛2؛1؛3]؛مقارن_الترتيب_الطبيعي_1)
جافا:أدة:بنى_المعطيات::مفي(["ب"؛"أ"؛"ب"؛"أ"]؛مقارن_الترتيب_الطبيعي_1)
جافا:أدة:بنى_المعطيات::مفي([’أ’؛’ب’؛’أ’؛’ب’]؛مقارن_الترتيب_الطبيعي_1)
جافا:أدة:بنى_المعطيات::مفي([حقيقي؛خاطئ؛صائب؛خاطئ]؛مقارن_الترتيب_الطبيعي_1)
جافا:أدة:بنى_المعطيات::مفي((1؛2؛1؛3)؛مقارن_الترتيب_الطبيعي_1)
جافا:أدة:بنى_المعطيات::مفي(#{خاطئ؛صائب}؛مقارن_الترتيب_الطبيعي_1)
---*
نداء مؤهل لدالة newSetFromMap
java.util.Collections::newSetFromMap
تنشئ مجموعة قائمة على خريطة موجودة
*---
جافا:أدة:بنى_المعطيات::جديدة_مجموعة_من_خريطة(${})
---*
نداء مؤهل لدوال reverse و rotate و shuffle و swap
java.util.Collections::reverse
java.util.Collections::rotate
java.util.Collections::shuffle
java.util.Collections::swap
تعديل ترتيب عناصر القائمة: عكس، تدوير، خلط أو تبديل عناصر
*---
--- java.util.Collections::reverse نداء
جافا:أدة:بنى_المعطيات::العكس(قائمة_)
--- java.util.Collections::rotate نداء
ثابت قائمة_1 تعيين [1؛2؛3]
جافا:أدة:بنى_المعطيات::رومانياتات(قائمة_1؛1)
جافا:أدة:بنى_المعطيات::رومانياتات(قائمة_1؛2)
--- java.util.Collections::swap نداء
ثابت قائمة_2 تعيين [1؛100؛0]
جافا:أدة:بنى_المعطيات::مقايضة(قائمة_2؛0؛2)
--- java.util.Collections::shuffle نداء
ثابت قائمة_3 تعيين [1؛100؛0]
جافا:أدة:بنى_المعطيات::خلط(قائمة_3)
جافا:أدة:بنى_المعطيات::خلط(قائمة_3؛جافا:أدة:عشوائي())
جافا:أدة:بنى_المعطيات::خلط(قائمة_3؛جافا:أمن:مأمون_عشوائي())
---*
نداء مؤهل لدالة sort
java.util.Collections::sort
ترتيب عناصر القائمة تصاعدياً، يمكن استخدام Comparator لتحديد ترتيب مخصص
*---
ثابت قائمة_4 تعيين [1؛100؛0]
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_4)
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_رموز)
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_تسلسل_أحرف)
--- java.util.Comparator::naturalOrder نداء بإستعمال
ثابت قائمة_5 تعيين [1؛100؛0]
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_5؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_رموز؛مقارن_الترتيب_الطبيعي)
جافا:أدة:بنى_المعطيات::هكذارت(قائمة_تسلسل_أحرف؛مقارن_الترتيب_الطبيعي)
---*
مكتبة UUID في جافا
java.util.UUID
تتعامل مع المعرفات الفريدة UUID: إنشاء، تحليل، وقراءة الخصائص
*---
--- java.util.UUID::fromString نداء
جافا:أدة:معرف_مستخدم::من_سلسلة("550e8400-e29b-41d4-a716-446655440000")
--- java.util.UUID::randomUUID نداء
جافا:أدة:معرف_مستخدم::عشوائي_معرف_مستخدم()
---*
مكتبة ملفات NIO في جافا
java.nio.file.Files
تتعامل مع الملفات والمجلدات: فحص الوجود، الحقوق، قراءة، قائمة، واستعراض المسارات
*---
--- java.nio.file.Files::exists نداء
ثابت مسار_1 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::موجود(مسار_1)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
ثابت مسار_2 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف:0("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::موجود(مسار_2)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::notExists نداء
ثابت مسار_3 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah")
حاول(جافا:إن_آي_أو:ملف:الملفات::لا_موجود(مسار_3)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
ثابت مسار_4 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف:0("C:/Program Files/naftah")
حاول(جافا:إن_آي_أو:ملف:الملفات::لا_موجود(مسار_4)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::isDirectory نداء
ثابت مسار_5 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::هو_مدير(مسار_5)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::isExecutable نداء
ثابت مسار_6 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah/bin/naftah.sh")
حاول(جافا:إن_آي_أو:ملف:الملفات::هو_التنفيذ(مسار_6)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::isHidden نداء
ثابت مسار_7 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah/bin/naftah.sh")
حاول(جافا:إن_آي_أو:ملف:الملفات::هو_مخبأ(مسار_7)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::isReadable نداء
ثابت مسار_8 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::هو_إعادةادابل(مسار_8)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::isWritable نداء
ثابت مسار_9 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::هو_كاتب(مسار_9)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::lines نداء
ثابت مسار_10 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah/bin/naftah.sh")
حاول(جافا:إن_آي_أو:ملف:الملفات::خطوط(مسار_10)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::list نداء
ثابت مسار_11 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول(جافا:إن_آي_أو:ملف:الملفات::القائمة(مسار_11)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::walk نداء
ثابت مسار_12 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/Java")
حاول((
جافا:إن_آي_أو:ملف:الملفات::والألبانياك(مسار_12)
,
جافا:إن_آي_أو:ملف:الملفات::والألبانياك(مسار_12؛3)
)) {
نجاح(أ) -> {
إطبع(أ)
}
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::readAllLines نداء
ثابت مسار_13 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah/bin/naftah.sh")
حاول(جافا:إن_آي_أو:ملف:الملفات::إعادةاد_الألبانيال_خطوط(مسار_13)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- java.nio.file.Files::readString نداء
ثابت مسار_14 : جافا:إن_آي_أو:ملف:مسار تعيين جافا:إن_آي_أو:ملف:مسار::وف("C:/Program Files/naftah/bin/naftah.sh")
حاول(جافا:إن_آي_أو:ملف:الملفات::إعادةاد_سلسلة(مسار_14)) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
---*
الفئة Integer في جافا
java.lang.Integer
تتعامل مع الأعداد الصحيحة: التحويل، التحليل، وتمثيل الأعداد بصيغ مختلفة
*---
--- java.lang.Integer::decode نداء
جافا:لغة:فيتگر::إبطالود("0x2A")
--- java.lang.Integer::parseInt نداء
جافا:لغة:فيتگر::البريد_فيت("100")
--- java.lang.Integer::parseUnsignedInt نداء
جافا:لغة:فيتگر::البريد_نموقع_فيت("4000000000")
جافا:لغة:فيتگر::البريد_نموقع_فيت("FFFFFFFF"؛16)
--- java.lang.Integer::toBinaryString نداء
جافا:لغة:فيتگر::إلى_ثنائية_سلسلة(100)
--- java.lang.Integer::toHexString نداء
جافا:لغة:فيتگر::إلى_هوكس_سلسلة(100)
--- java.lang.Integer::toOctalString نداء
جافا:لغة:فيتگر::إلى_وكتالألبانيا_سلسلة(100)
--- java.lang.Integer::toString نداء
جافا:لغة:فيتگر::إلى_سلسلة:0(100)
--- java.lang.Integer::valueOf نداء
جافا:لغة:فيتگر::قيمة_وف("100")
جافا:لغة:فيتگر::قيمة_وف("100"؛10)
جافا:لغة:فيتگر::قيمة_وف("100"؛16)
---*
الفئة Double في جافا
java.lang.Double
تتعامل مع الأعداد العشرية: التحويل، التحليل، تمثيل بصيغ مختلفة
*---
--- java.lang.Double::parseDouble نداء
جافا:لغة:مزدوج::البريد_مزدوج("100")
--- java.lang.Double::toHexString نداء
جافا:لغة:مزدوج::إلى_هوكس_سلسلة(100)
--- java.lang.Double::valueOf نداء
جافا:لغة:مزدوج::قيمة_وف("100")
---*
الفئة Long في جافا
java.lang.Long
تتعامل مع الأعداد الطويلة: التحويل، التحليل، تمثيل بصيغ مختلفة
*---
--- java.lang.Long::parseLong نداء
جافا:لغة:طويل_::البريد_طويل("100")
--- java.lang.Long::parseUnsignedLong نداء
جافا:لغة:طويل_::البريد_نموقع_طويل("4000000000")
جافا:لغة:طويل_::البريد_نموقع_طويل("FFFFFFFF"؛16)
--- java.lang.Long::toBinaryString نداء
جافا:لغة:طويل_::إلى_ثنائية_سلسلة(100)
--- java.lang.Long::toHexString نداء
جافا:لغة:طويل_::إلى_هوكس_سلسلة(100)
--- java.lang.Long::toOctalString نداء
جافا:لغة:طويل_::إلى_وكتالألبانيا_سلسلة(100)
--- java.lang.Long::toString نداء
جافا:لغة:طويل_::إلى_سلسلة:0(100)
--- java.lang.Long::valueOf نداء
جافا:لغة:طويل_::قيمة_وف("100")
جافا:لغة:طويل_::قيمة_وف("100"؛10)
جافا:لغة:طويل_::قيمة_وف("100"؛16)
---*
الفئة Boolean في جافا
java.lang.Boolean
تتعامل مع القيم المنطقية: التحويل، التحليل، تمثيل كـ نص
*---
--- java.lang.Boolean::parseBoolean نداء
جافا:لغة:بوولان::البريد_بوولان("true")
جافا:لغة:بوولان::البريد_بوولان("any")
--- java.lang.Boolean::valueOf نداء
جافا:لغة:بوولان::قيمة_وف(صحيح)
جافا:لغة:بوولان::قيمة_وف(خطأ)
جافا:لغة:بوولان::قيمة_وف(فارغ)
--- java.lang.Boolean::toString نداء
جافا:لغة:بوولان::إلى_سلسلة(صحيح)
جافا:لغة:بوولان::إلى_سلسلة:0(صحيح)
جافا:لغة:بوولان::إلى_سلسلة:1(صحيح)
جافا:لغة:بوولان::إلى_سلسلة(خطأ)
جافا:لغة:بوولان::إلى_سلسلة:0(خطأ)
جافا:لغة:بوولان::إلى_سلسلة:1(خطأ)
---*
تعريف ثابت من نوع مؤهل وتعيينه بقيمة
استدعاء متسلسل (chained call) يتم فيه تمرير ناتج الاستدعاء السابق (piping) إلى الدالة التالية إذا كانت دالة ثابتة (static method)،
أو يتم الاستدعاء على الكائن نفسه إذا كانت دالة مثيل (instance method).
*---
ثابت أ : عدد تعيين جافا:لغة:الرياضيات::ابس(1):::أميكس(10)
ثابت ب : عائم_طويل تعيين جافا:لغة:الرياضيات::ابس(1):::أميكس(10):::أس(2)
---*
إنشاء الكائنات في جافا
شرح كيفية تعريف الثوابت والمتغيرات وتعيين القيم لها باستخدام الفئات الأساسية والمكتبات القياسية
*---
--- ava.util.Optional إنشاء
--- إنشاء Optional فارغ بإستعمال Optional::empty
ثابت ت : جافا:أدة:اختياري تعيين جافا:أدة:اختياري::فارغ_()
--- إنشاء Optional من كائن قد يكون فارغًا بإستعمال Optional::ofNullable
ثابت ث : جافا:أدة:اختياري تعيين جافا:أدة:اختياري::وف_فارغابل(فارغ)
--- إنشاء Optional من قيمة مؤكدة بإستعمال Optional::of
ثابت ج : جافا:أدة:اختياري تعيين جافا:أدة:اختياري::وف(10)
--- إنشاء كائن عام java.lang.Object
جافا:لغة:كائن_()
--- java.util.UUID إنشاء
--- إنشاء UUID ثابت من قيمتين طويلتين
جافا:أدة:معرف_مستخدم(6161415689025233999؛5488940234982179551)
--- org.daiitech.naftah.builtin.lang.DynamicNumber إنشاء
--- إنشاء رقم ديناميكي من عدد صحيح
أورغ:داعيتاك:نفطه:مدرجة_مدرجة:لغة:ديناميك_رقم(1)
--- إنشاء رقم ديناميكي من سلسلة
أورغ:داعيتاك:نفطه:مدرجة_مدرجة:لغة:ديناميك_رقم("01033301")
--- java.util.ArrayList إنشاء
--- إنشاء قائمة فارغة
جافا:أدة:صفائف_القائمة()
--- إنشاء قائمة بحجم محدد
جافا:أدة:صفائف_القائمة(11000)
--- إنشاء قائمة من عناصر محددة
جافا:أدة:صفائف_القائمة([1؛100؛0])
تمام! يمكننا عمل نسخة مشابهة للـ Java Interop Imports بأسلوب منظّم مع وصف لكل قسم، بحيث يكون متوافق مع المثال الذي
أرسلتَه. إليك الشكل المقترح:
📦 أمثلة على استخدام الاستيراد (Imports)
---* استدعاء أدوات Java Optional *---
--- استدعاء عدة دوال من Java Optional وإعادة التسمية
إجلب جافا:أدة:اختياري::[وف تحت_إسم من_خلال, گت مثل خذ , أو_لس تحت_إسم أو_خذ , وف_فارغابل تحت_إسم من_فارغ]
من_خلال(10):::خذ()
من_فارغ(فارغ):::أو_خذ("لغة نفطه")
--- استدعاء دالة واحدة من Java Optional وإعادة التسمية
إجلب جافا:أدة:اختياري::وف تحت_إسم من_خلال
من_خلال(10):::گت()
---* استدعاء أدوات Java السلاسل النصية *---
--- استدعاء دوال Java السلسلية وإعادة تسميتها
إجلب جافا:لغة:سلسلة تحت_إسم سلسلة
إجلب جافا:لغة:سلسلة::[لنگتهاي تحت_إسم الطول , النفقة مثل سلسلة_فرعية ، إلى_سلسلة]
@سلسلة("مرحبا"):::الطول()
@سلسلة("مرحبا"):::سلسلة_فرعية(1؛3)
@سلسلة("مرحبا"):::إلى_سلسلة()
---* استدعاء أدوات Java القوائم والصفائف *---
--- استدعاء دوال القوائم وإعادة التسمية
إجلب جافا:أدة:[صفائف_القائمة تحت_إسم قائمة_ , صفائف_القائمة::إضافة مثل إضافة ، صفائف_القائمة::گت تحت_إسم خذ ، صفائف_القائمة::الحجم تحت_إسم الحجم]
@قائمة_([1؛100؛0])::إضافة(100)
@قائمة_([1؛100؛0])::خذ(0)
@قائمة_([1؛100؛0])::الحجم()
---* استدعاء أدوات Java الكائنات والمعرفات *---
--- استدعاء كائن Java والتحقق من قيمته
إجلب جافا:لغة:كائن_ تحت_إسم كائن_
@كائن_() لا_يساوي فارغ
--- استدعاء معرف المستخدم وإنشاء ثابت
إجلب جافا:أدة:معرف_مستخدم تحت_إسم معرف_مستخدم
ثابت معرف_مستخدم : معرف_مستخدم تعيين @معرف_مستخدم(6161415689025233999؛5488940234982179551)
معرف_مستخدم
📌 الوصول إلى الحقول داخل الكائنات
أمثلة على الوصول إلى الحقول متعددة المستويات باستخدام النقطتين : أو الأقواس المربعة []
ثابت معرف_مستخدم تعيين جافا:أدة:معرف_مستخدم(6161415689025233999؛5488940234982179551)
أمثلة على الوصول المشروط والاختياري مع وجود علامات استفهام ؟
معرف_مستخدم:أكثر_سيغ_بتات
معرف_مستخدم:لشرقا_سيغ_بتات
أمثلة على الوصول إلى الحقول باستخدام الأقواس المربعة []
معرف_مستخدم["أكثر_سيغ_بتات"]
معرف_مستخدم["لشرقا_سيغ_بتات"]
أمثلة على الوصول لحقول ديناميك_رقم (Dynamic Number)
ثابت ديناميك_رقم تعيين أورغ:داعيتاك:نفطه:مدرجة_مدرجة:لغة:ديناميك_رقم(1)
الوصول المشروط والاختياري
ديناميك_رقم؟:قيمة
الوصول باستخدام الأقواس المربعة
ديناميك_رقم؟["قيمة"]
أمثلة على الوصول إلى القوائم / الصفائف
ثابت قائمة_ تعيين جافا:أدة:صفائف_القائمة([1؛100؛0])
الوصول المشروط والاختياري
قائمة_:الحجم
قائمة_:عنصر_بيانات
الوصول باستخدام الأقواس المربعة
قائمة_["الحجم"]
قائمة_["عنصر_بيانات"]
📌 تعديل القيم داخل الكائنات
تعديل القيم باستخدام النقطتين :
ثابت معرف_مستخدم تعيين جافا:أدة:معرف_مستخدم(6161415689025233999؛5488940234982179551)
--- تعديل أكثر_سيغ_بتات إلى 1
معرف_مستخدم:أكثر_سيغ_بتات تعيين 1
--- تعديل لشرقا_سيغ_بتات إلى 10
معرف_مستخدم:لشرقا_سيغ_بتات تعيين 10
تعديل القيم باستخدام الأقواس المربعة []
معرف_مستخدم["أكثر_سيغ_بتات"] تعيين 1
معرف_مستخدم["لشرقا_سيغ_بتات"] تعيين 10
تعديل القيمة في ديناميك_رقم (Dynamic Number)
ثابت ديناميك_رقم تعيين أورغ:داعيتاك:نفطه:مدرجة_مدرجة:لغة:ديناميك_رقم(1)
--- تعديل قيمة باستخدام الصيغة النقطية
ديناميك_رقم؟:قيمة = 10
--- تعديل قيمة باستخدام الأقواس المربعة
ديناميك_رقم؟["قيمة"] = 10
تعديل القيم في القوائم / الصفائف
ثابت قائمة_ تعيين جافا:أدة:صفائف_القائمة([1؛100؛0])
--- تعديل الحجم باستخدام الصيغة النقطية
حاول(قائمة_:الحجم = 2) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- تعديل عنصر_بيانات باستخدام الصيغة النقطية
حاول(قائمة_:عنصر_بيانات = [100؛0]) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
--- تعديل القيم باستخدام الأقواس المربعة
حاول({
قائمة_["الحجم"] = 2
قائمة_["عنصر_بيانات"] = [100؛0]
}) {
نجاح(أ) -> إطبع(أ)
فشل(ب) إفعل إطبع(ب)
}
🔹 ملاحظات على الاستيراد في نفطه
- إجلب / استيراد: يستخدم لجلب الدوال أو الكائنات من مكتبات Java.
- تحت_إسم / مثل: يسمح بإعادة تسمية الدوال أو الكائنات لتسهيل الاستخدام في نفطه.
- نداء مؤهل (Qualified Call):
Class::Method يتيح استدعاء دالة محددة دون استيراد كل الدوال.
- يمكن استدعاء عدة دوال مع إعادة تسمية واحدة لتقليل التعارضات أو لتبسيط الكود.
- يدعم استدعاء Static Methods و Instance Methods مباشرة بعد الاستيراد.
- يسهل التعامل مع Optional، List، String، Object، UUID بطريقة عربية واضحة ومرنة.
## 🧠 ملاحظات
* يمكن استدعاء **الدوال الثابتة والمثيلة** من مكتبات جافا مباشرة داخل نفطه.
* يدعم إنشاء الكائنات مثل **Object، UUID، Optional، ArrayList** بطرق متعددة (فارغ، من قيمة، من سلسلة).
* التعامل مع الأنواع الرقمية مثل **Integer، Long، Double، Boolean** مع إمكانية التحويل من وإلى السلاسل النصية.
* يمكن استخدام **الدوال على الكائنات** مثل `length`، `substring`، `add`، `get`، `size`، و`toString`.
* يدعم **Optional** للتحقق من وجود القيم أو استخدام قيمة افتراضية (`orElse`).
* أسماء الدوال في نفطه عربية مع إمكانية التعامل مع **الأرقام الصحيحة والعشرية** و**char/Character**.
* التوافقية مع **primitive ↔ wrapper** تجعل استدعاءات الدوال مرنة وموثوقة.
* الصياغة تعتمد على:
* `::` لاستدعاء **الدوال الثابتة (Static Methods)** و**البُنى (Constructors)**.
* `:::` لاستدعاء **الدوال على الكائنات (Instance Methods)**.
* يدعم **الدوال المتسلسلة (Chained Calls)** بحيث:
* عند استخدام `:::` يتم إعادة استخدام الاسم المؤهل من الاستدعاء السابق.
* عند استخدام `::` يتم استخدام الاسم المؤهل الخاص بالدالة فقط.
* يسهل كتابة كود **واضح وقابل للقراءة بالعربية** مع دعم المعاملات الاختيارية والقيم الافتراضية.
---
## 📁 ملفات مرتبطة
* [Home - الرئيسية](./../../../README.md)
* [🔑 الكلمات المفتاحية - Keywords](./01_keywords.md)
* [🧱 الأنواع الأولية و الثوابت و المتغيرات - Primitive Types And Variables](./02_primitives_and_variables.md)
* [📚 بُنى المعطيات - Collections](./03_collections.md)
* [🧮 التعبيرات - Expressions](./04_expressions.md)
* [🔢 الأعداد بأنظمة العد - Radix Numbers](./05_radix_numbers.md)
* [📦 تعريف الكائنات - Objects](./06_objects.md)
* [🌀 التحكم في تدفق البرنامج - Control Flow](./07_control_flow.md)
* [⚙️ الدوال في لغة نفطه - Functions](./08_functions.md)
* [⚡ التعامل مع التزامن في نفطه – Concurrency](./10_concurrency.md)
* [⏱️ الزمن والنقاط الزمنية في نفطه – Temporal](./11_temporal.md)
---
📌 جميع مُهيئات الكائنات
| الكائن |
الاسم المؤهل |
أنواع المعاملات |
قابل للاستدعاء؟ |
📌 جميع استدعاءات الدوال
| الكائن |
الدالة |
الاسم المؤهل |
أنواع المعاملات |
ثابتة؟ |
قابلة للاستدعاء؟ |
🧠 ملاحظات