REPL মানে Read-Eval-Print-Loop।
এটি একটি প্রোগ্রাম যা আপনাকে রুবি কোড টাইপ করে সরাসরি ফলাফল দেখতে দেয়।
একটি জনপ্রিয় REPL হলো irb।
আরেকটি হলো pry।
এগুলো উপকারী কারণ আপনি দ্রুত টেস্ট করতে পারেন কিছু রুবি কোড কীভাবে কাজ করে।
উদাহরণস্বরূপ:
আপনি যদি চান একটি স্ট্রিং অ্যারে কে ইন্টিজার অ্যারেতে কনভার্ট করা।
আপনি সঠিকভাবে কীভাবে করবেন সেটি মনে নাও থাকতে পারে...
আপনি সেটি লুক আপ করেন (যা একদম ঠিক!)।
এবং আপনার REPL-এ ট্রাই করেন যতক্ষণ না এটি আপনার চাওয়া অনুযায়ী কাজ করে। তারপর আপনি এই কোডটিকে আপনার প্রজেক্টে ইন্টিগ্রেট করতে পারেন।
বড় সুবিধা?
আপনি কোডের একটু অংশ আলাদা করে টেস্ট করতে পারেন, তাই যদি এটা কাজ না করে তবে আপনার কম মুভিং পার্টস রয়েছে, এবং আপনি সহজে বের করতে পারেন কীভাবে ফিক্স করবেন।
এটি আপনাকে একটা জিনিসে ফোকাস করতে দেয়!
এখন:
চলুন রুবি ব্যবহার করার জন্য কিছু REPL রিভিউ করি।
ইন্টারঅ্যাক্টিভ রুবি শেল (IRB)
IRB হলো বিল্ট-ইন রুবি REPL যা প্রতিটি রুবি ডেভেলপার bekend।
এতে অনেক ফিচার নেই, কিন্তু এটি যা করতে হয় সেটি করে।
আপনি কোড টাইপ করেন এবং রেজাল্ট পাওয়া যাবে।
আপনি irb কীভাবে ব্যবহার করতে পারেন?
আপনি একটি টার্মিনাল উইন্ডোর ভিতরে irb টাইপ করে irb খুলতে পারেন।
আপনি যা দেখবেন সেটি:
irb(main):001:0>
তারপর আপনি আপনার রুবি কোড লিখতে পারেন এবং এন্টার চাপায় রান করতে পারেন।
আপনি যদি irb বন্ধ করতে চান তবে exit টাইপ করতে পারেন।
আপনি কমান্ড হিস্টরি ইনেবল করতে পারেন আপনার হোম ফোল্ডারে একটি .irbrc ফাইল তৈরি করে।
এই কন্টেন্টের সাথে:
IRB.conf[:SAVE_HISTORY] = 500
এটিও যোগ করুন আপনি অটো ইন্ডেন্ট চাইলে:
IRB.conf[:AUTO_INDENT] = true
বা আপনার প্রম্পট কাস্টোমাইজ করুন এভাবে:
IRB.conf[:PROMPT][:CUSTOM] = { PROMPT_I: "irb(#{Dir.pwd}) ", PROMPT_S: "irb(#{Dir.pwd})* ", PROMPT_C: "irb(#{Dir.pwd})? ", PROMPT_N: "irb(#{Dir.pwd})* ", RETURN: "%s\n" } IRB.conf[:PROMPT_MODE] = :CUSTOM
Pry জেমের সুবিধা
Pry হলো একটি REPL এবং একটি রুবি জেম যা আপনি যেকোনো সময় ইনস্টল করতে পারেন।
এটি irb-এর মত কিন্তু এর অধিক ফিচার রয়েছে।
ফিচার যেন:
- সিনট্যাক্স হাইলাইটিং
- অটোকমপ্লিশন (irb-এও কিছু আছে, কিন্তু খুব বেসিক)
- ইনট্রোস্পেকশন কমান্ড (মেথড, ভেরিয়েবল, কনস্ট্যান্ট লিস্ট করুন, ইত্যাদি)
- আপনি যা টাইপ করেছেন সেটি এডিট করে আবার রান করুন
- ডিবাগিং
এই ফিচারগুলো pry কে অধিকাংশ সময় আরও ভালো চয়েস করে তোলে, তাই একবার চেষ্টা করুন আপনি যদি এখনো না করেছেন।
আপনি যদি রেইলস ব্যবহার করেন, তবে আপনি rails console-এ pry ইনেবল করতে পারেন pry-rails আপনার Gemfile-এ যোগ করে।
এটি show-models এবং show-routes কমান্ডও যোগ করে।
Pry-র অনেক কনফিগারেশন অপশন রয়েছে, আপনি সেগুলো আপনার হোম ফোল্ডারে .pryrc ফাইলে সেট করতে পারেন গ্লোবাল সেটিংসের জন্য, বা আপনার প্রজেক্ট ফোল্ডারগুলোর জন্য লোকাল সেটিংস।
Ruby -e
আপনি যদি শুধু একটি লাইন রুবি কোড রান করতে চান REPL লঞ্চ না করে তবে আপনি রুবির -e ফ্ল্যাগ ব্যবহার করতে পারেন।
এখানে একটি উদাহরণ:
ruby -e "puts 123 * 2"
এটি খুব দ্রুত একটু কিছু টেস্ট করতে চাইলে দারুণ, IRB খুলতে না চাইলে।
অনলাইন REPL
কী হবে আপনার কাছে রুবি ইনস্টল করার এক্সেস নেই?
বা হয়তো আপনি আপনার লোকাল কম্পিউটারের বাইরে অন্য এনভায়রনমেন্টে কিছু টেস্ট করতে চান।
বা কোড শেয়ার করতে চান ডেমোন্স্ট্রেশন বা ফিডব্যাক চাওয়ার জন্য।
সেই কারণেই অনলাইন REPLগুলো দারুণ।
একটি যা আমি পছন্দ করি হলো https://repl.it/languages/ruby।
সারসংক্ষেপ
আপনি রুবিতে REPL সম্পর্কে শিখেছেন! একটি REPL আপনাকে কোড ফাইলে লিখতে না হয়ে দ্রুত টেস্ট করতে দেয়।
এখন প্র্যাকটিস টাইম 🙂