جي شيل

JShell عبارة عن حلقة قراءة-تقييم-طباعة في جافا ، ظهرت لأول مرة في JDK 9. [ 1 ] ويتم تتبعها من خلال JEP 222 jshell: The Java Shell (Read-Eval-Print Loop) . [ 2 ] أحد أسباب اقتراح JShell لجافا 9 هو غياب بيئة تفاعلية قياسية للغة؛ حيث كانت المكتبة الفعلية لاستخدام بيئة تفاعلية (REPL) في جافا هي BeanShell ، التي ظلت غير نشطة منذ عام 2003، وانحرفت بشكل كبير عن لغة جافا. [ 3 ] [ 4 ]

مثال

jshell> int a[] = { 0, 1, 3, 5, 8 } a ==> int[5] { 0, 1, 3, 5, 8 } jshell> int fact(int n) { ...> return n < 2 ? 1 : n * fact(n - 1); ...> } | تم إنشاء دالة fact(int) jshell> for (int i = 0; i < a.length; ++i) ...> a[i] = fact(a[i]); jshell> a a ==> int[5] { 1, 1, 6, 120, 40320 } 

انظر أيضاً

مراجع

  1. "أوراكل تعلن عن Java SE 9 و Java EE 8" . شركة أوراكل . 21 سبتمبر 2017. مؤرشف من الأصل في 22 سبتمبر 2017. تم الاطلاع عليه في 25 سبتمبر 2017 .
  2. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)" . شركة أوراكل . 10 أكتوبر 2016. تاريخ الاسترجاع: 1 نوفمبر 2016. يوفر هذا المستند أداة تفاعلية لتقييم التصريحات والعبارات والتعبيرات في لغة برمجة جافا، بالإضافة إلى واجهة برمجة تطبيقات (API) تُمكّن التطبيقات الأخرى من الاستفادة من هذه الوظيفة.
  3. "JEP 222: jshell: The Java Shell (Read-Eval-Print Loop)" . شركة أوراكل . 10 أكتوبر 2016. تاريخ الاسترجاع: 1 نوفمبر 2016. وثمة بديل آخر يتمثل في الحفاظ على الوضع الراهن: استخدام لغة أخرى أو استخدام بيئة تفاعلية خارجية مثل BeanShell، على الرغم من أن هذه البيئة تحديدًا غير نشطة منذ سنوات عديدة، وتعتمد على JDK 1.3، وتُجري تغييرات عشوائية على اللغة.
  4. "JShell، بيئة جافا التفاعلية 9 - ما وظيفتها؟" . jaxenter.com. 2015-09-03. مؤرشف من الأصل في 2015-09-05 . تم الاطلاع عليه في 2016-11-01 . حاولت BeanShell (تمامًا مثل Groovy أيضًا) توحيد المعايير من خلال عملية مجتمع جافا في JSR 274 - وهو JSR لم يُنتج أي مخرجات ملحوظة، على الرغم من (أو ربما بسبب؟) انضمام شركتين كبيرتين، صن وجوجل، إلى مجموعة الخبراء. وفي إطار مبادرة JCP.next، أُعلن عن JSR "غير نشط".