jshell — ابزاری برای ارزیابی تعاملی اعلانها، دستورات و عبارات زبان برنامهنویسی جاوا در یک حلقه خواندن-ارزیابی-چاپ (REPL). از این ابزار برای یادگیری زبان، کاوش ویژگیها و APIهای جدید و نمونهسازی کد جدید استفاده میشود.
jshell [options] [load-files]
اسکریپت میتواند یک فایل محلی یا یکی از اسکریپتهای از پیش تعریفشده زیر باشد:
| نام | توضیح |
|---|---|
DEFAULT | اعلانهای پیشفرض را بارگذاری کند ( importهای رایج) |
JAVASE | تمام پکیجهای Java SE را import کند |
PRINTING | متدهای print، println و printf را تعریف کند |
TOOLING | متدهای javac، jar و ابزارهای دیگر JDK را تعریف کند |
برای پذیرش ورودی از ورودی استاندارد و سرکوب ورودی/خروجی تعاملی، یک خط تیره (-) برای load-files وارد کنید.
jshell راهی برای ارزیابی تعاملی اعلانها، دستورات و عبارات زبان جاوا فراهم میکند و یادگیری زبان، کاوش کد و APIهای ناآشنا و نمونهسازی کد پیچیده را آسانتر میکند. دستورات جاوا، تعریف متغیر، تعریف متد، تعریف کلاس، دستورات import و عبارات پذیرفته میشوند. قطعههای واردشده Snippet نامیده میشوند.
با وارد شدن Snippetها، ارزیابی شده و بازخورد ارائه میشود. بازخورد از نتایج و توضیحات اعمال گرفته تا هیچ، بسته به Snippet و حالت بازخورد انتخابشده متفاوت است. خطاها صرفنظر از حالت بازخورد توصیف میشوند. برای دریافت بیشترین بازخورد هنگام یادگیری ابزار، با حالت verbose شروع کنید.
Snippetهای موجود میتوانند از یک فایل برای راهاندازی یک نشست jshell بارگذاری شوند، یا در هر زمان در طول نشست. Snippetها میتوانند برای امتحان تغییرات مختلف و اصلاحات در طول نشست تغییر کنند. برای نگهداری Snippetها برای استفاده بعدی، آنها را در یک فایل ذخیره کنید.
| گزینه | توضیح |
|---|---|
--add-exports module/package | پکیجی را بهعنوان صادرشده از ماژول تعریفکننده مشخص میکند |
--add-modules module[,...] | ماژولهای ریشهای اضافی برای حل کردن مشخص میکند |
--class-path path | دایرکتوریها و آرشیوهای جستجو برای یافتن فایلهای کلاس (در لینوکس/مک با : و در ویندوز با ; جدا شود) |
--enable-preview | اجازه وابستگی کد به ویژگیهای پیشنمایش این نسخه |
--feedback mode | سطح بازخورد: verbose، normal، concise، silent، custom (پیشفرض: normal) |
--help / -h / -? | خلاصه گزینههای استاندارد |
--help-extra / -X | خلاصه گزینههای غیراستاندارد |
-Jflag | پرچم برای ارسال به Runtime |
--module-path modulepath | مکان یافتن ماژولهای برنامه |
--no-startup | جلوی اجرای اسکریپتهای راهاندازی را میگیرد |
-q | بازخورد = concise |
-s | بازخورد = silent |
--startup file | اسکریپت راهاندازی سفارشی |
-v | بازخورد = verbose |
--version | چاپ نسخه و خروج |
| دستور | توضیح |
|---|---|
/drop {name|id|startID-endID} | Snippetها را غیرفعال میکند |
/edit [option] | ویرایشگر را باز میکند |
/env [options] | تنظیمات محیطی را نمایش یا بهروزرسانی میکند |
/exit [n] | ابزار را ترک میکند (n = وضعیت خروج) |
/history | تاریخچه ورودیهای این نشست |
/help [cmd|subject] | اطلاعات دستورات و موضوعات |
/imports | importهای فعال فعلی |
/list [option] | لیست Snippetها و IDها |
/methods [option] | اطلاعات متدهای واردشده |
/open file | اسکریپت را باز و Snippetها را میخواند |
/reload [options] | ریاستارت نشست با بازپخش تاریخچه |
/reset [options] | حذف تمام Snippetها و ریاستارت (بدون بازپخش) |
/save [option] file | ذخیره Snippetها در فایل |
/set [setting] | تنظیم ویرایشگر، بازخورد، فرمت، حالت و غیره |
/types [option] | کلاسها، Interfaceها و Enumهای واردشده |
/vars [option] | متغیرها با نام، نوع و مقدار |
/? | معادل /help |
/! | اجرای مجدد Snippet قبلی |
/-n | اجرای مجدد nاُمین Snippet قبلی |
هنگام وارد کردن Snippetها، دستورات، زیردستورات، آرگومانها یا گزینهها، از کلید Tab برای تکمیل خودکار استفاده کنید. هنگام فراخوانی متد، Tab را بعد از پرانتز باز فشار دهید تا پارامترها نمایش داده شوند.
اگر مخفف بهطور یکتا دستوری را شناسایی کند، پذیرفته میشود. مثلاً /l معادل /list. اما /s معتبر نیست — از /se یا /sa استفاده کنید.
تاریخچه در طول نشستها حفظ میشود. از کلیدهای بالا/پایین برای پیمایش و Ctrl+Up/Down برای پرش از خطهای چندخطی استفاده کنید.
Ctrl+R جستجو به عقب و Ctrl+S جستجو به جلو.
jshell بخشی از JDK است. برای شروع یک نشست، jshell را در خط فرمان وارد کنید. برای دیدن Snippetهای راهاندازی، /list -start را استفاده کنید. برای پایان، /exit.
Snippetها شامل دستورات جاوا، تعریف متغیر، تعریف متد، تعریف کلاس، import و عبارات هستند. سمیکالن پایانی خودکار اضافه میشود.
jshell> int x = 10
x ==> 10
jshell> int square(int n) { return n * n; }
| created method square(int)
jshell> square(x)
$2 ==> 100
برای تغییر، تعریف را دوباره وارد کنید. برای Snippetهای طولانی از /edit استفاده کنید.
از /set mode برای ایجاد حالت بازخورد جدید استفاده کنید. از /set feedback برای فعالسازی آن استفاده کنید. حداکثر طول مقدار نمایشی توسط /set truncation کنترل میشود.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://dev.java/learn/