ললকোডে Complex Macros (যেমন ফাংশনালিটি বাড়ানোর জন্য কমপ্লেক্স স্টেটমেন্ট বা কোড ব্লক তৈরির প্রক্রিয়া) মূলত কোডের পুনঃব্যবহারযোগ্যতা এবং কার্যকারিতা বাড়ানোর জন্য ব্যবহৃত হয়। ললকোডে সরাসরি ম্যাক্রো ফিচার নেই যেমন C বা অন্যান্য ভাষায়, তবে আপনি কোডের পুনরাবৃত্তি কমানোর জন্য ফাংশন এবং শর্তযুক্ত কোড ব্যবহার করতে পারেন।
এখানে Complex Macros এর একটি সাধারণ ধারনা ও উদাহরণ দেখানো হবে।
Complex Macros Concept in LOLCode
ললকোডে আপনি macros ব্যবহার করতে পারেন এক ধরনের ফাংশন ডিফাইন করে যা নির্দিষ্ট কাজ সম্পাদন করবে, এবং সেই ফাংশনটি বিভিন্ন জায়গায় পুনরায় ব্যবহার করা যাবে।
ধরা যাক, একটি ফাংশন তৈরি করা হবে যা একাধিক মানের গুণফল বের করবে বা একাধিক শর্ত একসাথে পরীক্ষা করবে।
Complex Macro Example: Calculating a Discount and Tax
ধরা যাক, আমরা একটি Complex Macro তৈরি করব যা প্রথমে কোনো মূল্য থেকে ডিসকাউন্ট বের করবে এবং তারপর সেই ডিসকাউন্টের পরিমাণে ট্যাক্স যোগ করবে।
Step 1: Discount Calculation
ফাংশনটি প্রথমে মূল্য থেকে ডিসকাউন্ট বের করবে।
Step 2: Tax Calculation
তারপর, ডিসকাউন্টের উপর ট্যাক্স যোগ করবে।
উদাহরণ:
HOW IZ I CALCULATE_FINAL_PRICE YR price YR discount_percentage YR tax_percentage
I HAS A discount ITZ PRODUKT OF price AN discount_percentage
I HAS A price_after_discount ITZ DIFF OF price AN discount
I HAS A tax ITZ PRODUKT OF price_after_discount AN tax_percentage
I HAS A final_price ITZ SUM OF price_after_discount AN tax
FOUND YR final_price
IF U SAY SO
I HAS A original_price ITZ 1000
I HAS A discount_percentage ITZ 0.1 // 10% ডিসকাউন্ট
I HAS A tax_percentage ITZ 0.15 // 15% ট্যাক্স
I HAS A final_price ITZ I IZ CALCULATE_FINAL_PRICE YR original_price YR discount_percentage YR tax_percentage
VISIBLE final_price // আউটপুট হবে 1035ব্যাখ্যা:
CALCULATE_FINAL_PRICEফাংশনটিprice,discount_percentage, এবংtax_percentageপ্যারামিটার গ্রহণ করে।- প্রথমে,
discountবের করা হয়, তারপরprice_after_discountহিসাব করা হয়, এবং শেষমেশtaxযোগ করেfinal_priceবের করা হয়। - এই ফাংশনটি
final_priceরিটার্ন করে।
আউটপুট:
1035Complex Logic with Conditional Macros
এখানে আমরা একটি কমপ্লেক্স শর্তযুক্ত ম্যাক্রো তৈরি করব যা বিভিন্ন শর্তের ভিত্তিতে ভিন্ন ফলাফল প্রদান করবে, যেমন যদি একটি সংখ্যা ১০ এর বেশি হয় তবে "Large" ফিরিয়ে দিবে, অন্যথায় "Small" ফিরিয়ে দিবে।
HOW IZ I CHECK_SIZE YR num
O RLY?
BOTH SAEM num AN 10, YA RLY
FOUND YR "Large"
OIC
FOUND YR "Small"
IF U SAY SO
I HAS A num ITZ 15
I HAS A size ITZ I IZ CHECK_SIZE YR num
VISIBLE size // আউটপুট হবে "Large"এখানে:
CHECK_SIZEফাংশনটিnumএর মান পরীক্ষা করে এবং ১০ এর বেশি হলে "Large" অথবা "Small" ফিরিয়ে দেয়।
আউটপুট:
LargeComplex Nested Macros
এখানে আমরা Nested Macros ব্যবহার করব, যেখানে একটি ম্যাক্রো অন্য একটি ম্যাক্রোকে কল করবে। এটি কিছু জটিল লজিক বাস্তবায়ন করতে সহায়ক হতে পারে।
HOW IZ I DISCOUNT YR price YR discount_percentage
I HAS A discount ITZ PRODUKT OF price AN discount_percentage
FOUND YR discount
IF U SAY SO
HOW IZ I FINAL_PRICE YR price YR discount_percentage YR tax_percentage
I HAS A discount ITZ I IZ DISCOUNT YR price YR discount_percentage
I HAS A price_after_discount ITZ DIFF OF price AN discount
I HAS A tax ITZ PRODUKT OF price_after_discount AN tax_percentage
I HAS A final_price ITZ SUM OF price_after_discount AN tax
FOUND YR final_price
IF U SAY SO
I HAS A original_price ITZ 500
I HAS A discount_percentage ITZ 0.2 // 20% ডিসকাউন্ট
I HAS A tax_percentage ITZ 0.18 // 18% ট্যাক্স
I HAS A final_price ITZ I IZ FINAL_PRICE YR original_price YR discount_percentage YR tax_percentage
VISIBLE final_price // আউটপুট হবে 504ব্যাখ্যা:
DISCOUNTফাংশনটিpriceএবংdiscount_percentageথেকে ডিসকাউন্ট বের করে।FINAL_PRICEফাংশনটিDISCOUNTফাংশনকে কল করে এবং পরে ট্যাক্স যোগ করে চূড়ান্ত মূল্য বের করে।
আউটপুট:
504সারসংক্ষেপ
- Complex Macros ললকোডে কোডের পুনঃব্যবহারযোগ্যতা এবং কার্যকারিতা বাড়ানোর জন্য ফাংশন হিসেবে ব্যবহৃত হতে পারে।
- Nested Macros একটি ম্যাক্রোকে অন্য ম্যাক্রোর মধ্যে কল করে জটিল লজিক তৈরি করা যায়।
- Conditional Macros শর্তযুক্ত লজিক দিয়ে ম্যাক্রো তৈরি করা যায় যা বিভিন্ন ফলাফল প্রদান করে।
- এই ম্যাক্রো ব্যবহারের মাধ্যমে ললকোডে কোডের পুনঃব্যবহার এবং কার্যকারিতা বৃদ্ধি করা সম্ভব।
Read more