JShell টুল-এ কোনো অপারেশন করার সময়, এটি একটি মেসেজ প্রদর্শন করে রিটার্ন (return) হিসেবে (কমান্ড সফল হয়েছে, এরর, এবং তৈরি ভেরিয়েবলের টাইপ ও মান)। এটি কাস্টমাইজ করা যায় কমান্ড: "/set feedback" ব্যবহার করে। এই কоман্ড বর্তমানে কনফিগার করা রিটার্নের টাইপ এবং উপলব্ধ বিভিন্ন রিটার্ন মোড দেখায়।
jshell> /set feedback | /set feedback normal | | Available feedback modes: | concise | normal | silent | verbose
JShell-এ চারটি ফিডব্যাক মোড উপলব্ধ:
১) /set feedback normal: এটি ডিফল্ট JShell ফিডব্যাক। এক্সপ্রেশন ইভ্যালুয়েট করলে, JShell সম্পর্কিত ফলাফল এবং একটি ইন্টারনাল ভেরিয়েবল রিটার্ন করে যাতে মানটি সংরক্ষিত ছিল। ভেরিয়েবল তৈরির ক্ষেত্রে, JShell ভেরিয়েবলের নাম এবং সংশ্লিষ্ট মান রিটার্ন করে। ডেটা টাইপ (মেথড বা ক্লাস) তৈরির সময়, JShell তৈরি করা টাইপ নির্দিষ্ট করে একটি রিটার্ন পাঠায়।
jshell> /set feedback normal
| Feedback mode: normal
jshell> 5 + 5
$1 ==> 10
jshell> int i = 20
i ==> 20
jshell> int sum(int a, int b) {
...> return a + b;
...> }
| created method sum(int,int)
২) /set feedback verbose: এটি সবচেয়ে তথ্যবহুল (informative) ফিডব্যাক মোড। একটি ইনস্ট্রাকশন ইভ্যালুয়েট করলে, এটি সংশ্লিষ্ট ফলাফল এবং এটি যায়গা পেয়েছিল সেটি ইন্টারনাল ভেরিয়েবল, এবং এক্সপ্রেশনের টাইপ প্রদর্শন করে। ভেরিয়েবল তৈরির জন্যও একই। ডেটা টাইপ তৈরির রিটার্ন নর্মাল মোড-এর মতোই।
jshell> /set feedback verbose
| Feedback mode: verbose
jshell> 2 + 2
$1 ==> 4 | created scratch variable $1 : int
jshell> String str = "Tutorix"
str ==> "Tutorix" | created variable str : String
jshell> int div(int a, int b) {
...> return a/b;
...> }
| created method div(int,int)
৩) /set feedback concise: এই মোড সর্বনিম্ন পরিমাণ তথ্য প্রদর্শন করে। এক্সপ্রেশন ইভ্যালুয়েট করলে, এটি আমাদের তৈরি ইন্টারনাল ভেরিয়েবলের নাম এবং এক্সপ্রেশনের ফলাফল বলে। অন্যদিকে, ডেটা টাইপ (ভেরিয়েবল, মেথড, বা ক্লাস) তৈরির সময়, JShell থেকে কোনো রিটার্ন নেই (যদি কোডটি এরর না হয়)।
jshell> /set feedback concise jshell> 2 + 2 $1 ==> 4 jshell> int i = 10; jshell> float y = "xyz"; | Error: | incompatible types: java.lang.String cannot be converted to float | float y = "xyz"; | ^---^
৪) /set feedback silent: এই মোড কোনো তথ্য প্রদর্শন করে না। এক্সপ্রেশন ইভ্যালুয়েট করার সময়, JShell ফলাফল ইন্টারনাল ভেরিয়েবলে সংরক্ষণ করে কিন্তু স্ক্রিনে সংশ্লিষ্ট ফলাফল দেখায় না। ডেটা টাইপ (ভেরিয়েবল, মেথড, বা ক্লাস) তৈরির জন্যও একই। সব কিছু অভ্যন্তরীণভাবে হয় কোনো রেজাল্ট স্ক্রিনে দেখানোর nélkül (এরর কমান্ডের ব্যতীত)।
jshell> /set feedback silent
-> 3+3
-> int x = 7
-> int sum(int x, int y) {
>> return x + y;
>> }
-> double y = "abc";
| Error:
| incompatible types: java.lang.String cannot be converted to double
| double y = "abc";
| ^---^
->