কমান্ড লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্ট তৈরি করার সময়, কিছু আর্গুমেন্ট নির্দিষ্ট অবস্থানে (position) প্রদান করা হয়, যেগুলো সাধারণত Positional Arguments হিসেবে পরিচিত। এটি এমন আর্গুমেন্ট যা কোনো নির্দিষ্ট অপশন বা ফ্ল্যাগ ছাড়া সরাসরি কমান্ড লাইন আর্গুমেন্টগুলোর মধ্যে পাস করা হয়। প্রোগ্রামটি আর্গুমেন্টের অবস্থান অনুযায়ী তাদের পার্স করে এবং সংশ্লিষ্ট তথ্য ব্যবহার করে। অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি এই ধরনের আর্গুমেন্ট পরিচালনা করার জন্য সরল এবং কার্যকরী উপায় প্রদান করে।
Positional Arguments এর গুরুত্ব:
- সহজ এবং স্বাভাবিক ইনপুট: যখন একটি অ্যাপ্লিকেশন নির্দিষ্ট অর্ডারে আর্গুমেন্ট নিতে চায় এবং কোনো অপশন বা ফ্ল্যাগ ব্যবহার না করেই ইনপুট প্রাপ্তি নিশ্চিত করতে চায়, তখন positional arguments ব্যবহৃত হয়।
- ফ্ল্যাট আর্গুমেন্ট সিস্টেম: এতে ব্যবহারকারীকে অপশন টাইপ বা ডিফাইন করতে হয় না, শুধু নির্দিষ্ট স্থানে আর্গুমেন্ট প্রদান করা হয়।
Positional Arguments এর ধারণা
Positional Arguments হলো সেই আর্গুমেন্ট যা কমান্ড লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্টে নির্দিষ্ট অবস্থানে প্রদান করা হয়, কোনো ফ্ল্যাগ বা অপশন ছাড়াই। সাধারণত এগুলো শেষের দিকে বা নির্দিষ্ট অর্ডারে পাস করা হয়। অ্যাপাচি কমন্স সিআলআই-এ, positional arguments কোডের মধ্যে অ্যারে বা লিস্ট হিসেবে পাস করা হয় এবং এই আর্গুমেন্টগুলির কোনো নাম বা ফ্ল্যাগ থাকে না।
যেমন, একটি কমান্ডের মধ্যে সাধারণত নাম, ফাইল পাথ, ডেটা ভ্যালু, অথবা অন্য কোনো ইনপুট প্যারামিটার পাস করা হয় যা একটি নির্দিষ্ট অর্ডারে থাকে।
উদাহরণ:
ধরা যাক, একটি কমান্ড লাইন অ্যাপ্লিকেশন যা দুটি positional arguments নেয়: ব্যবহারকারীর নাম এবং বয়স। এরকম একটি অ্যাপ্লিকেশন নিম্নলিখিতভাবে কাজ করতে পারে:
java MyApp John 25
এখানে:
Johnহলো positional argument (ব্যবহারকারীর নাম)।25হলো positional argument (ব্যবহারকারীর বয়স)।
অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) দিয়ে Positional Arguments এর ব্যবহার
অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরিতে positional arguments ব্যবহার করার জন্য, আপনাকে একটি নির্দিষ্ট পদ্ধতি অনুসরণ করতে হয় যেখানে অপশনগুলো তৈরি করা হয় না এবং আর্গুমেন্টের অবস্থান অনুযায়ী ডেটা গ্রহণ করা হয়।
নিচে একটি উদাহরণ দেওয়া হলো যেখানে দুটি positional argument পাস করা হচ্ছে: নাম এবং বয়স।
উদাহরণ: Positional Arguments ব্যবহার
import org.apache.commons.cli.*;
public class PositionalArgumentsExample {
public static void main(String[] args) {
// অপশন তৈরি করা
Options options = new Options();
// কমান্ড লাইন পার্সার তৈরি করা
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
// কমান্ড লাইন আর্গুমেন্টস পার্স করা
cmd = parser.parse(options, args);
// Positional Arguments সঠিকভাবে গ্রহণ করা
if (args.length >= 2) {
String name = args[0]; // প্রথম আর্গুমেন্ট (নাম)
String age = args[1]; // দ্বিতীয় আর্গুমেন্ট (বয়স)
System.out.println("Name: " + name);
System.out.println("Age: " + age);
} else {
System.out.println("Please provide both name and age.");
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
চলানোর উদাহরণ:
java PositionalArgumentsExample John 25
এখানে, John হলো প্রথম positional argument (নাম) এবং 25 হলো দ্বিতীয় positional argument (বয়স)। প্রোগ্রামটি এই আর্গুমেন্টগুলিকে গ্রহণ করে এবং আউটপুট হিসেবে প্রদর্শন করবে:
Name: John
Age: 25
Positional Arguments এর সুবিধা
১. সরলতা
Positional arguments ব্যবহারের মাধ্যমে কমান্ড লাইন আর্গুমেন্টস সরল এবং পরিষ্কার থাকে। ব্যবহারকারী শুধু সঠিক অর্ডারে আর্গুমেন্ট পাস করে অ্যাপ্লিকেশন চালাতে পারে, যা কিছু অপশন বা ফ্ল্যাগের তুলনায় সহজ।
২. নির্দিষ্ট অর্ডার
কিছু অ্যাপ্লিকেশনে আর্গুমেন্টগুলির নির্দিষ্ট অর্ডার থাকতে পারে, এবং positional arguments ব্যবহার করা হলে এই অর্ডার বজায় রাখা সহজ হয়। যেমন, একটি ফাইল আপলোডের জন্য প্রথম আর্গুমেন্ট হিসেবে ফাইলের পাথ এবং দ্বিতীয় আর্গুমেন্ট হিসেবে আউটপুট ডিরেক্টরি দেওয়া হতে পারে।
৩. অপশন ও আর্গুমেন্টের ফ্ল্যাট সিস্টেম
Positional arguments এর মাধ্যমে আপনি একটি ফ্ল্যাট আর্গুমেন্ট সিস্টেম তৈরি করতে পারেন যেখানে কমান্ড লাইন আর্গুমেন্টস কোনো অপশন নাম ছাড়াই সরাসরি পাস করা হয়।
সারাংশ
Positional arguments হলো সেই আর্গুমেন্ট যা নির্দিষ্ট অবস্থানে পাস করা হয় এবং এগুলোর কোনো অপশন বা ফ্ল্যাগ থাকে না। এটি কমান্ড লাইন অ্যাপ্লিকেশন বা স্ক্রিপ্টগুলোর জন্য একটি সহজ এবং ফ্ল্যাট আর্গুমেন্ট সিস্টেম সরবরাহ করে। অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি positional arguments পরিচালনা এবং গ্রহণ করার জন্য একটি সোজা উপায় প্রদান করে, যা অ্যাপ্লিকেশন তৈরি করার সময় প্রোগ্রামের কার্যক্রম সহজ এবং পরিষ্কার রাখতে সাহায্য করে।
Read more