কম্পিউটার টিউটোরিয়াল

রুবির সাথে একটি কমান্ড-লাইন ইন্টারফেস তৈরি করুন:একটি ধাপে ধাপে নির্দেশিকা

আপনি একটি কমান্ড লাইন ইন্টারফেস নির্মাণ বিবেচনা? এটি একটি দুর্দান্ত প্রকল্প ধারণা! এই নির্দেশিকায়, আমরা আলোচনা করব কিভাবে রুবিতে একটি কমান্ড লাইন ইন্টারফেস তৈরি করা যায়।

আমরা শুরু করার আগে, আপনার কম্পিউটারে রুবি ইনস্টল করা উচিত, এবং আপনার এমন একটি টার্মিনাল ব্যবহার করা উচিত যা আপনাকে ইউনিক্স কমান্ড চালানোর অনুমতি দেয়। আপনি যদি একটি লিনাক্স বা ম্যাকোস-ভিত্তিক কম্পিউটার ব্যবহার করেন তবে আপনার কাছে ইতিমধ্যেই একটি ইউনিক্স-সামঞ্জস্যপূর্ণ টার্মিনাল বিল্ট-ইন থাকবে। একবার আপনি এই প্রয়োজনীয়তাগুলি পূরণ করলে, আপনি শুরু করার জন্য প্রস্তুত!

কমান্ড লাইন ইন্টারফেস কি?

আপনি আপনার কোডিং ক্যারিয়ার শুরু করার সাথে সাথে আপনি শীঘ্রই টার্মিনাল সম্পর্কে জানতে পারবেন। টার্মিনাল উইন্ডো আপনাকে কমান্ড লাইন ইন্টারফেস (CLIs) এর সাথে ইন্টারঅ্যাক্ট করতে দেয়, যা আপনি টেক্সট কমান্ড ব্যবহার করে প্রোগ্রাম চালাতে এবং ইন্টারঅ্যাক্ট করতে ব্যবহার করতে পারেন।

টার্মিনাল উইন্ডো ব্যবহার করে, আপনি মাউস বা ভিজ্যুয়াল অ্যাপ্লিকেশন ছাড়াই আপনার কম্পিউটারে নির্দেশনা দিতে পারেন। আপনি কোড করার সময় এটি আপনার সময় বাঁচায় কারণ আপনি শুধুমাত্র নির্দেশাবলী লেখার উপর ফোকাস করতে পারেন। আপনার ব্যবহার করা প্রতিটি টুলের জন্য একটি নতুন ইউজার ইন্টারফেস শেখার বিষয়ে আপনাকে চিন্তা করতে হবে না!

আপনি এখন পর্যন্ত যে CLI-এর সাথে যোগাযোগ করেছেন তা সম্ভবত অন্য লোকেদের দ্বারা তৈরি করা হয়েছে। উদাহরণস্বরূপ, পাইথন সিএলআই আপনাকে টার্মিনাল থেকে পাইথন চালানোর অনুমতি দেয়, যখন রুবি সিএলআই আপনাকে রুবি অ্যাপ্লিকেশনগুলির সাথে একই কাজ করতে দেয়। সৌভাগ্যবশত, আপনি নিজেও তৈরি করতে পারেন!

শুরু করতে, আপনার মেশিনে একটি টার্মিনাল উইন্ডো খুলুন। তারপর, mkdir ব্যবহার করুন আপনার কোডের জন্য একটি ফোল্ডার তৈরি করতে কমান্ড। এখানে এই কমান্ডের কর্মের একটি উদাহরণ:

এই কমান্ডটি আমাদের কম্পিউটারে "ruby-cli" নামে একটি ফোল্ডার তৈরি করে। আমরা এখন cd ব্যবহার করতে পারি এই ফোল্ডারে যান এবং আমাদের CLI তৈরি করুন:

দারুণ! এখন আমরা আমাদের নতুন "রুবি-ক্লি" ফোল্ডারে আছি। এই নিবন্ধটির জন্য আমাদের এই সমস্ত সেটআপ করতে হবে - পরবর্তী পদক্ষেপটি হল আমাদের কমান্ড লাইন ইন্টারফেস লেখা শুরু করা।

আমাদের কমান্ড লাইন ইন্টারফেসে আমরা যে প্রথম বৈশিষ্ট্যটি যোগ করতে যাচ্ছি তা হল আমাদের টার্মিনালে "এটি একটি উদাহরণ CLI" শব্দটি প্রিন্ট করা। আমরা "home.rb" নামে একটি নতুন ফাইল তৈরি করে এবং ফাইলটিতে কোড সন্নিবেশ করে তা করতে পারি।

একটি নতুন ফাইল তৈরি করতে, আমরা নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারি:

এটি একটি nano খুলবে পাঠ্য সম্পাদক যেখানে আমরা আমাদের প্রোগ্রামের জন্য কোড রাখতে পারি। আপনি চাইলে একটি ভিন্ন টেক্সট এডিটর ব্যবহার করতে পারেন, যেমন vim বা emacs। 

আমাদের ন্যানো টেক্সট এডিটরে, আমরা নিম্নলিখিত কোড পেস্ট করি:

#!/usr/bin/env ruby
puts "This is an example CLI"

এখন, Mac, Y-এ Control-X এবং তারপর Enter চেপে সংরক্ষণ করা যাক। এটি আমাদের "ruby-cli" ফোল্ডারে "home.rb" নামে একটি নতুন ফাইল তৈরি করে।

আমাদের কোডে, প্রথম লাইনটি কম্পিউটারকে আমাদের কোড চালানোর জন্য রুবি ইন্টারপ্রেটার ব্যবহার করতে বলে। এটি নিশ্চিত করে যে আমাদের কোড রুবিতে চালানো হচ্ছে। দ্বিতীয় লাইনটি আমাদের প্রোগ্রামকে কনসোলে "এটি একটি উদাহরণ CLI" প্রিন্ট করার নির্দেশ দেয়।

এখন, আমরা ruby ব্যবহার করে আমাদের ফাইল চালাতে পারি কমান্ড:

আমাদের কোড রিটার্ন করে:

আপনি দেখতে পাচ্ছেন, আমরা একটি সাধারণ CLI তৈরি করেছি। যখন আমরা আমাদের "home.rb" ফাইলটি চালাই, তখন কনসোলে 'এটি একটি উদাহরণ CLI' শব্দটি প্রিন্ট করা হয়। 

পতাকা ব্যবহার করে ব্যবহারকারীর ইনপুট গ্রহণ করা

আমাদের CLI এখন পর্যন্ত বেশ সহজ-এটি শুধুমাত্র কনসোলে একটি বার্তা প্রিন্ট করে। আপনি যদি ব্যবহারকারীর ইনপুট গ্রহণ করতে চান? আমরা optparse ব্যবহার করে তা করতে পারি লাইব্রেরি এটি আমাদের কমান্ড লাইন থেকে প্রদত্ত বিকল্পগুলিকে পার্স করতে দেয় যা আমাদের প্রোগ্রামে ব্যবহার করা যেতে পারে।

আমরা optparse ব্যবহার করছি কয়েকটি কারণে লাইব্রেরি। প্রথমে, optparse লাইব্রেরি আমাদের প্রতিটি কমান্ডের জন্য একটি সাহায্য মেনু তৈরি করতে দেয়। দ্বিতীয়, optparse রুবিতে অন্তর্নির্মিত, তাই আপনাকে কিছু ইনস্টল করতে হবে না।

আসুন এমন একটি বৈশিষ্ট্য যুক্ত করি যা একটি ব্যবহারকারীর ইমেল ঠিকানা একটি ইনপুট হিসাবে গ্রহণ করে এবং তারপরে এটি কনসোলে ফিরিয়ে দেয়।

আপনার টেক্সট এডিটরে “home.rb” ফাইলটি খুলুন এবং এর বিষয়বস্তু এই কোড দিয়ে প্রতিস্থাপন করুন:

#!/usr/bin/env ruby
require 'optparse'
options = {}
OptionParser.new do |op|
 op.on("-e", "--email", "Your email address") do |value|
 options[:name] = value
 end
end.parse!
puts 'Your email address is: ' + options[:name]

এই কোডে, আমরা optparse ব্যবহার করি একটি কমান্ডের মাধ্যমে পাঠানো ডেটা পার্স করার জন্য লাইব্রেরি। তারপরে আমরা একটি ভেরিয়েবলের জন্য ব্যবহারকারীর নির্দিষ্ট করা মান নির্ধারণ করি এবং কনসোলে এটি প্রিন্ট আউট করি। এই ক্ষেত্রে, আমরা "আপনার ইমেল ঠিকানা হল:" মুদ্রণ করি, ব্যবহারকারীর দ্বারা নির্দিষ্ট করা ইমেল অনুসরণ করে।

আমরা আমাদের কোড ব্যবহার করে দেখতে এই কমান্ডটি ব্যবহার করতে পারি:

ruby home.rb -e jack@jones.com

আমাদের কোড ফিরে আসে:

Your email address is: jack@jones.com

optparse সম্পর্কে চমৎকার জিনিস লাইব্রেরি হল এটি একটি সাহায্য মেনু স্বয়ংক্রিয়ভাবে তৈরি করে। আমরা নিম্নলিখিত কোড ব্যবহার করে এই সহায়তা মেনু দেখতে পারি:

আমাদের কোড ফিরে আসে:

Usage: ruby [options]
 -e, --email Your email address

আপনি যখন আপনার কমান্ড চালাচ্ছেন, আপনি -e ব্যবহার করতে পারেন অথবা --email পতাকা 

রুবির সাথে একটি কমান্ড-লাইন ইন্টারফেস তৈরি করুন:একটি ধাপে ধাপে নির্দেশিকা

"ক্যারিয়ার কর্ম আমার জীবনে প্রবেশ করেছিল যখন আমার এটির সবচেয়ে বেশি প্রয়োজন ছিল এবং দ্রুত আমাকে একটি বুটক্যাম্পের সাথে মেলাতে সাহায্য করেছিল। স্নাতক হওয়ার দুই মাস পর, আমি আমার স্বপ্নের চাকরি পেয়েছি যা আমার জীবনের মূল্যবোধ এবং লক্ষ্যগুলির সাথে সামঞ্জস্যপূর্ণ!"

ভেনাস, রকবটের সফটওয়্যার ইঞ্জিনিয়ার

আপনার বুটক্যাম্প ম্যাচ

খুঁজুন

আপনার প্রোগ্রামে ব্যবহারকারীর ইনপুট গ্রহণ করা

আগের উদাহরণে, আমরা পতাকা ব্যবহার করে ব্যবহারকারীর ইনপুট গ্রহণ করেছি। যাইহোক, আপনি যদি একাধিক তথ্য গ্রহণ করতে চান তবে পতাকাগুলি অব্যবহারিক হতে পারে।

রুবিতে একটি সিএলআই তৈরির সৌন্দর্য হল যে কোনও রুবি প্রোগ্রাম একটি সিএলআই হয়ে উঠতে পারে। সুতরাং, শুরু করার জন্য আপনাকে কোন নতুন নিয়ম শিখতে হবে না।

ধরুন আমরা একটি অ্যাপ্লিকেশন তৈরি করতে চাই যা একজন ব্যবহারকারীর নাম এবং ইমেল পুনরুদ্ধার করে এবং তাদের বয়স 16 বছরের বেশি কিনা তা পরীক্ষা করে। 

আমাদের nano এ প্রবেশ করতে নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে শুরু করা যাক পাঠ্য সম্পাদক:

আপনার সদ্য তৈরি করা ফাইলে, নিম্নলিখিত কোডটি পেস্ট করুন:

puts "What is your name?"
name = gets
puts "What is your age?"
age = gets
if age.to_i >= 16
 puts "#{name}! You are 16 or older!"
else
 puts "#{name}! You are not over the age of 16!"
end

আপনার ফাইল সংরক্ষণ করার পরে, আপনি এই কমান্ডটি ব্যবহার করে আপনার নতুন CLI চালাতে পারেন:

আমাদের কোড ফিরে আসে:

What is your name?
James
What is your age?
17
James! You are 16 or older!

"আপনার বয়স কত?" প্রশ্নের উত্তরে যদি আমরা "14" মান সন্নিবেশ করি, তাহলে নিম্নলিখিতটি ফেরত দেওয়া হবে:

James! You are not over the age of 16.

আপনি আপনার CLI তে যেকোন রুবি কোড লিখতে পারেন। একমাত্র সীমা হল আপনার কল্পনা।

উপসংহার

একটি CLI আপনাকে একটি টার্মিনাল ব্যবহার করে একটি প্রোগ্রামের সাথে যোগাযোগ করতে দেয়। এটি একটি প্রোগ্রামের জন্য একটি ব্যবহারকারী ইন্টারফেসের একটি বিকল্প (যেমন আপনি যখন অ্যাটম বা নোটপ্যাডের মতো টেক্সট এডিটর খুলবেন তখন আপনি যা দেখেন)।

এই নির্দেশিকায়, আমরা আপনাকে দেখিয়েছি কিভাবে রুবি ব্যবহার করে একটি সাধারণ CLI তৈরি করতে হয়। এখন আপনি রুবি বিশেষজ্ঞের মতো আপনার নিজস্ব CLI তৈরি শুরু করতে প্রস্তুত!


  1. জাভাস্ক্রিপ্টে লিঙ্কের প্রথম অক্ষর (অ্যাঙ্কর টেক্সট) কীভাবে সরিয়ে ফেলবেন?

  2. কিভাবে একটি Tkinter ক্যানভাস আয়তক্ষেত্র স্বচ্ছ করতে?

  3. রুবি 2.6-এ MJIT কী এবং এটি কীভাবে কাজ করে?

  4. পাইথনে সমান দূরত্বে আইটেম সংগ্রহ করতে কভার করা দূরত্ব খুঁজুন