REPL মানে পড়ুন-মূল্যায়ন-মুদ্রণ-লুপ . এটি কিছু স্টেট ধারণ করে এবং JShell-এর প্রতিটি স্টেটমেন্টের একটি স্টেট রয়েছে। এই রাজ্যটি স্নিপেটগুলির স্থিতি সম্পাদনকে অস্বীকার করে৷ এবং ভেরিয়েবল। এটি eval() এর ফলাফল দ্বারা নির্ধারিত হতে পারে JShell এর পদ্ধতি উদাহরণ, যা কোড মূল্যায়ন করে।
নিচে তালিকাভুক্ত সাতটি ভিন্ন স্থিতির অবস্থা রয়েছে৷
৷- বাদ দেওয়া হয়েছে৷ :স্নিপেট নিষ্ক্রিয়৷
- NONEXISTENT :স্নিপেটটি নিষ্ক্রিয় কারণ এটি এখনও বিদ্যমান নেই৷
- ওভাররাইটেন :স্নিপেটটি নিষ্ক্রিয় কারণ এটি একটি নতুন স্নিপেট দ্বারা প্রতিস্থাপিত হয়েছে৷
- RECOVERABLE_DEFINED৷ :স্নিপেট হল একটি ঘোষণার স্নিপেট যাতে সম্ভাব্য পুনরুদ্ধারযোগ্য অমীমাংসিত রেফারেন্স বা এর শরীরে অন্যান্য সমস্যা থাকে৷
- RECOVERABLE_NOT_DEFINED :স্নিপেট হল সম্ভাব্য পুনরুদ্ধারযোগ্য অমীমাংসিত রেফারেন্স বা অন্যান্য সমস্যা সহ একটি ঘোষণা স্নিপেট৷
- প্রত্যাখ্যাত৷ :স্নিপেটটি নিষ্ক্রিয় কারণ সংকলনটি প্রাথমিক মূল্যায়নে ব্যর্থ হয়েছে এবং এটি JShell অবস্থায় আরও পরিবর্তনের সাথে বৈধ হয়ে উঠতে সক্ষম নয়৷
- বৈধ :স্নিপেট একটি বৈধ স্নিপেট।
উদাহরণ
import java.util.List; import jdk.jshell.*; import jdk.jshell.Snippet.Status; public class JShellTest { public static void main(String args[]) { JShell shell = JShell.create(); List<SnippetEvent> events = shell.eval("int a, b, sum; " + "a = 12; b = 11; sum = a + b; " + "System.out.println(sum);" ); for(SnippetEvent event : events) { Snippet snippet = event.snippet(); Snippet.Status snippetstatus = shell.status(snippet); if(snippetstatus == Status.VALID) { System.out.println("Successfully executed"); } } } }
আউটপুট
Successfully executed Successfully executed Successfully executed