ג'אווה REPL או jshell הוא הכלי החדש שהוצג ב-Java 9. היום נתחיל בלהבין את היסודות של ג'אווה REPL ונריץ כמה תוכניות בממשק ה-jshell.
ג'אווה REPL
בואו ננסה להבין למה נתמך ב-REPL נוסף בג'אווה, ואם כל כך חשוב אז למה רק בגרסה כל כך מאוחרת. כפי שאתם יודעים, Scala הפכה לפופולרית מאוד לפיתוח של יישומים בינוניים וגדולים בזכות התכונות והיתרונות שלה. היא תומכת בפרדיגמה מרובה (תכנות עצמאי ופונקציונלי) וב-REPL. חברת Oracle מנסה לשלב רוב התכונות של Scala לתוך ג'אווה. כבר שלבו חלק מתכונות התכנות הפונקציונלית כחלק מ-Java 8, כמו ביטויי למבדה. אחת מהתכונות הטובות ביותר של Scala היא REPL (Read-Evaluate-Print-Loop). זהו ממשק שורת פקודה ומפענח Scala לביצוע תוכניות. קל להשתמש ב-Scala REPL ללמוד את היסודות של תכנות Scala ואף להריץ קודי בדיקה קטנים. ובזכות REPL של Scala והיתרונות שלו בהפחתת הסיפור הלמידה ובקלות בהרצת קודי בדיקה, ג'אווה REPL הוכנס בגרסה 9.
Java REPL – jshell
שם היישום של Java REPL הוא jshell
. JShell מתייחסת ל-Java Shell. jshell הוא כלי אינטראקטיבי לביצוע ולהערכת תכני Java פשוטים כמו הצהרות משתנים, דפוסים, ביטויים, תכניות פשוטות וכדומה. פתח את פקודת השורת פקודה ובדוק את גרסת ה-Java כדי לוודא שיש לך גרסה 9 או מעלה, רק אז תוכל להשתמש ב-jshell. מכיוון ש-jshell אינו דורש IDE או עורכים נוספים לביצוע תכניות Java פשוטות, זה מאוד שימושי למתחילים ב-core java ולמומחים להשתמש בו ללמוד ולהעריך יכולות חדשות וקודי בדיקה קטנים.
Java REPL – jshell basics
ניתן לגשת אל Java REPL על ידי שימוש בפקודת jshell
כפי שמוצג בתמונה למטה. עכשיו, זה הזמן לבצע כמה דוגמאות פשוטות של Java כדי לטעום מעט מהכלי REPL של Java.
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>
כפי שמוצג בדוגמאות REPL של Java לעיל, קל מאוד לפתח תוכנית "שלום עולם". אין צורך להגדיר "public class" ושיטת public static void main(String[] args) רק כדי להדפיס הודעה אחת. הערה: אין צורך להשתמש ב"נקודי פסיק" להצהרות פשוטות כפי שמוצג בתרשים למעלה.
Java REPL – ביצוע מחלקה
ניתן גם להגדיר ולבצע שיטות מחלקה במקלדת REPL של Java.
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. זהו הכל בנוגע לבסיסי jshell וכלי jshell, למידע נוסף ראה jshell – מקלדת ג'אווה. הפניה: JEP 222
Source:
https://www.digitalocean.com/community/tutorials/java-repl-jshell