جافا REPL – jshell

يعتبر Java REPL أو jshell أداة جديدة تم تقديمها في Java 9. اليوم سنتعرف على أساسيات Java REPL ونقوم بتشغيل بعض البرامج التجريبية في واجهة jshell.

Java REPL

لنحاول أولاً فهم لماذا تمت إضافة دعم REPL في Java، إذا كانت هذه أمور مهمة، لماذا في إصدار متأخر بهذا الشكل. كما تعلم، أصبحت Scala شائعة جدًا لتطوير التطبيقات من الحجم الصغير إلى الكبير بسبب ميزاتها وفوائدها. إنها تدعم البرمجة متعددة البنادق (البرمجة الشيئية والبرمجة الوظيفية) وREPL. تحاول Oracle Corporation دمج معظم ميزات Scala في Java. لقد قاموا بدمج بعض ميزات البرمجة الوظيفية كجزء من Java 8، مثل التعبيرات اللامبدا. إحدى أفضل ميزات Scala هي REPL (Read-Evaluate-Print-Loop). إنها واجهة سطر الأوامر ومفسر Scala لتنفيذ برامج Scala. من السهل جدًا استخدام Scala REPL لفهم أساسيات برمجة Scala وحتى تشغيل أكواد الاختبار الصغيرة. بسبب Scala REPL وفوائدها في تقليل منحنى التعلم وسهولة تشغيل أكواد الاختبار، تم تقديم Java REPL في Java 9.

جافا REPL – jshell

اسم تطبيق جافا REPL هو jshell. JShell تعني جافا شل. jshell هو أداة تفاعلية لتنفيذ وتقييم برامج جافا البسيطة مثل تعريفات المتغيرات ، والبيانات ، والتعابير ، والبرامج البسيطة وما إلى ذلك. قم بفتح نافذة الأوامر وتحقق من إصدار جافا للتأكد من أن لديك جافا 9 أو أعلى ، ثم يمكنك فقط استخدام jshell. نظرًا لأن jshell لا يحتاج إلى أي بيئات تطوير متكاملة أو محررات إضافية لتنفيذ برامج جافا بسيطة ، فإنه مفيد جدًا للمبتدئين في جافا الأساسية والخبراء لاستخدامه لتعلم وتقييم الميزات الجديدة ورمز الاختبار الصغير.

جافا REPL – أساسيات jshell

يمكننا الوصول إلى جافا REPL باستخدام أمر jshell المتاح كما هو موضح في الصورة أدناه. الآن ، حان الوقت لتنفيذ بضع أمثلة بسيطة في جافا للحصول على طعم أداة جافا REPL.

pankaj:~ pankaj$ jshell 
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell> 

jshell> System.out.println("Hello World");
Hello World

jshell> String str = "Hello JournalDev Users"
str ==> "Hello JournalDev Users"

jshell> str
str ==> "Hello JournalDev Users"

jshell> System.out.println(str)
Hello JournalDev Users

jshell> int counter = 0
counter ==> 0

jshell> counter++
$6 ==> 0

jshell> counter
counter ==> 1

jshell> counter+5
$8 ==> 6

jshell> counter
counter ==> 1

jshell> counter=counter+5
counter ==> 6

jshell> counter
counter ==> 6

jshell> 

كما هو موضح في أمثلة Java REPL أعلاه، فإنه من السهل جدًا تطوير برنامج “Hello World”. لا نحتاج إلى تعريف “public class” و public static void main(String[] args) الأسلوب فقط لطباعة رسالة واحدة. ملاحظة: لا نحتاج إلى استخدام “فواصل” للبيانات البسيطة كما هو موضح في الرسم البياني أعلاه.

Java REPL – تنفيذ الفئة

يمكننا أيضًا تعريف وتنفيذ طرق الفئة في وحدة التشغيل Java REPL.

jshell> class Hello {
   ...> public static void sayHello() {
   ...> System.out.print("Hello");
   ...> }
   ...> }
|  created class Hello

jshell> Hello.sayHello()
Hello
jshell> 

Java REPL – المساعدة والخروج

للحصول على قسم المساعدة لأداة jshell، استخدم الأمر /help. للخروج من jshell، استخدم الأمر /exit.

jshell> /help
|  Type a Java language expression, statement, or declaration.
|  Or type one of the following commands:
|  /list [<name or id>|-all|-start]
|  	list the source you have typed
|  /edit <name or id>
...

jshell> /exit
|  Goodbye
pankaj:~ pankaj$ 

يمكننا أيضًا استخدام الأمر Ctrl + D للخروج من أداة jshell. هذا كل شيء عن Java REPL وأساسيات أداة jshell، اقرأ المزيد في jshell – java shell. المرجع: JEP 222

Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell