Macros in Lolcode (ম্যাক্রো)

ললকোড (Lolcode) - Computer Programming

324

ললকোড (LOLCode) একটি ইসোটেরিক প্রোগ্রামিং ভাষা, এবং এর মধ্যে ম্যাক্রো ব্যবহারের জন্য সরাসরি কোনো সমর্থন নেই, যেমনটি কিছু অন্যান্য ভাষায় দেখা যায় (যেমন C বা C++)। তবে, আপনি কিছু স্ট্যাটিক এবং পুনরায় ব্যবহৃত কোড ব্লক তৈরি করতে পারেন, যা কার্যকরভাবে একটি ম্যাক্রো এর মতো কাজ করবে।

ললকোডে ম্যাক্রো (Macros) ব্যবহারের বিকল্প কৌশল

ললকোডে ম্যাক্রো তৈরির সরাসরি কোনো সিস্টেম না থাকলেও, কিছু ফাংশন এবং স্ট্রিং অপারেশনগুলি ব্যবহার করে আপনি কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে পারেন।


ফাংশন ব্যবহার করে ম্যাক্রো সাদৃশ্য তৈরি

ললকোডে আপনি HOW IZ I এবং IF U SAY SO ব্যবহার করে একটি ফাংশন তৈরি করতে পারেন, যা কোডের পুনঃব্যবহারযোগ্য অংশ হিসেবে কাজ করবে এবং ম্যাক্রো সাদৃশ্য তৈরি করবে।

উদাহরণ: ফাংশন ব্যবহার করে ম্যাক্রো তৈরি

HOW IZ I PRINTMSG YR msg
    VISIBLE msg
IF U SAY SO

I HAS A msg ITZ "হ্যালো, ললকোড!"
PRINTMSG YR msg  // আউটপুট হবে "হ্যালো, ললকোড!"

এখানে:

  • PRINTMSG ফাংশনটি একটি ম্যাক্রোর মতো কাজ করে। এটি msg প্যারামিটার গ্রহণ করে এবং সেটি কনসোলে প্রদর্শন করে।
  • ফাংশনটি পুনরায় ব্যবহারযোগ্য, যার মাধ্যমে আমরা একই কোড বারবার ব্যবহার করতে পারি।

স্ট্রিং এবং গাণিতিক অপারেশন ব্যবহার করে কোডের পুনঃব্যবহার

ললকোডে আপনি স্ট্রিং অপারেশন বা গাণিতিক অপারেশনগুলির মাধ্যমে কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে পারেন, যা একটি ম্যাক্রোর মতো কাজ করবে। তবে, এখানে ম্যাক্রো প্রসেসিং এর মতো সরাসরি কোনো বিকল্প নেই।

উদাহরণ: স্ট্রিং অপারেশন ব্যবহার

I HAS A greeting ITZ "হ্যালো"
I HAS A name ITZ "ললকোড"
I HAS A message ITZ greeting AN ", " AN name
VISIBLE message  // আউটপুট হবে "হ্যালো, ললকোড!"

এখানে:

  • greeting, name এবং message ভেরিয়েবলগুলি মিলিত হয়ে একটি নতুন স্ট্রিং তৈরি করছে, যা পুনরায় ব্যবহৃত হতে পারে।

সারসংক্ষেপ

ললকোডে ম্যাক্রো ব্যবহারের সরাসরি সমর্থন নেই, তবে আপনি ফাংশন এবং স্ট্রিং/গাণিতিক অপারেশন ব্যবহার করে কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে পারেন, যা কার্যকরভাবে একটি ম্যাক্রোর মতো কাজ করবে। এটি কোডকে আরও সংহত এবং সংগঠিত করে তোলে, এবং একই কোড বারবার ব্যবহারের জন্য উপযুক্ত হয়।

Content added By

ললকোডে Macro Definition এবং এর ব্যবহার সাধারণত কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে ব্যবহৃত হয়। ম্যাক্রো সাধারণত একটি কোড ব্লক যা একাধিকবার ব্যবহৃত হতে পারে এবং এর মাধ্যমে কোডের পুনরাবৃত্তি কমিয়ে আনা যায়।

ললকোডে ম্যাক্রো ডিফিনিশন BTW এবং OBTW দিয়ে করা হয়। এই ম্যাক্রো ডিফিনিশনের মাধ্যমে আপনি কোডের অংশকে একটি নাম দিয়ে সংজ্ঞায়িত করতে পারেন এবং পরে সেই নাম ব্যবহার করে কোড কল করতে পারেন।


Macro Definition (ম্যাক্রো ডিফিনিশন)

ললকোডে ম্যাক্রো একটি পুনঃব্যবহারযোগ্য ব্লক হিসেবে ব্যবহৃত হয়, যা পরে বিভিন্ন জায়গায় কল করা যায়।

সিনট্যাক্স:

BTW
    I HAS A macro_name
    // ম্যাক্রো কোড
OBTW

এখানে:

  • BTW এবং OBTW এর মধ্যে কোড ব্লকটি ম্যাক্রো হিসেবে সংজ্ঞায়িত হয়।
  • macro_name হল ম্যাক্রোর নাম, যা পরে কল করা হবে।

Macro ব্যবহার (Using the Macro)

ম্যাক্রো ডিফাইন করার পর, আপনি I HAS A macro_name বা সরাসরি ম্যাক্রো নাম ব্যবহার করে সেই কোড ব্লকটি কল করতে পারেন। ম্যাক্রো যখন কল করা হয়, তখন তার মধ্যে থাকা কোড সম্পাদিত হয়।

উদাহরণ:

BTW
    I HAS A greeting ITZ "হ্যালো, ললকোড!"
    VISIBLE greeting
OBTW

I HAS A name ITZ "আজিজ"
I HAS A age ITZ 25

BTW
    I HAS A greeting ITZ "আপনার নাম: " AN name AN " এবং বয়স: " AN age
    VISIBLE greeting
OBTW

এখানে:

  • BTW এবং OBTW এর মধ্যে একটি ম্যাক্রো ডিফাইন করা হয়েছে যা একটি স্ট্রিং দেখাবে।
  • পরে সেই ম্যাক্রো পুনরায় ব্যবহার করা হয়েছে এবং ইউজারের নাম ও বয়স দেখানো হয়েছে।

ম্যাক্রো ব্যবহার এবং শর্তের মধ্যে ফাংশনালিটি

ললকোডে ম্যাক্রো ডিফিনিশন ব্যবহার করে অনেক লজিককে একত্রিত করা যেতে পারে, যেখানে কিছু শর্তে সেই ম্যাক্রো ব্যবহার করা হয়। যেমন কিছু বিশেষ শর্তে ম্যাক্রোটি কল করা হতে পারে।

উদাহরণ:

BTW
    I HAS A myMacro ITZ "এটি একটি ম্যাক্রো!"
    VISIBLE myMacro
OBTW

I HAS A num ITZ 5

O RLY?
    BOTH SAEM num AN 5, YA RLY
        I HAS A message ITZ myMacro
        VISIBLE message
    NO WAI
        VISIBLE "সংখ্যাটি 5 নয়।"
OIC

এখানে:

  • myMacro নামক একটি ম্যাক্রো ডিফাইন করা হয়েছে, যা একটি স্ট্রিং ধারণ করছে।
  • O RLY? শর্তের মাধ্যমে, যদি num এর মান 5 হয়, তবে ম্যাক্রো কল করা হবে এবং আউটপুট হবে **"এটি একটি ম্যাক্রো!"**।

সারসংক্ষেপ

  • ম্যাক্রো ডিফিনিশন: ললকোডে BTW এবং OBTW এর মধ্যে কোড ব্লককে একটি ম্যাক্রো হিসেবে ডিফাইন করা হয়।
  • ম্যাক্রো ব্যবহার: ম্যাক্রো ডিফাইন করার পরে আপনি সেই কোডটি যেকোনো জায়গায় কল করতে পারেন, এবং কোডের পুনঃব্যবহার করতে পারেন।
  • উদাহরণ: ম্যাক্রো ব্যবহার করে স্ট্রিং প্রিন্ট করা বা শর্তের ভিত্তিতে ফাংশনালিটি পরিচালনা করা যায়।

ম্যাক্রো কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে সহায়ক এবং এটি কোডের পরিস্কারতা এবং কার্যকারিতা বৃদ্ধি করে।

Content added By

ললকোডে Code Reusability অর্জন করার জন্য Macros ব্যবহার করা যেতে পারে, যদিও ললকোড একটি ইসোটেরিক ভাষা এবং এটি অনেক প্রচলিত প্রোগ্রামিং ভাষার মতো সরাসরি ম্যাক্রো সাপোর্ট করে না, তবে কিছু পুনঃব্যবহারযোগ্য কোড ব্লক তৈরি করা সম্ভব। এই Macross বা Reusable Code Blocks সাধারণত ফাংশন বা শর্তাবলী হিসেবে ব্যবহার করা যেতে পারে, যা একাধিক স্থানে কল করা যেতে পারে।

এখানে আমরা Code Reusability এর জন্য একটি Macro-like কৌশল তৈরি করার বিষয়টি দেখব:


Macros in LOLCode for Code Reusability

ললকোডে সরাসরি macros তৈরি করার কোনো বিল্ট-ইন ফিচার নেই, তবে আপনি ফাংশন (Functions) ব্যবহার করে পুনঃব্যবহারযোগ্য কোড ব্লক তৈরি করতে পারেন, যা ম্যাক্রোর মতো কাজ করবে। ফাংশনগুলি বিভিন্ন অংশে ব্যবহৃত কোডের পুনরাবৃত্তি এড়াতে সহায়ক।

ফাংশন তৈরি করা (Creating Functions)

ললকোডে HOW IZ I দিয়ে ফাংশন ডিফাইন করা হয় এবং FOUND YR দিয়ে ফাংশন থেকে মান ফিরিয়ে আনা হয়। এই ফাংশনগুলো macros এর মতো কাজ করবে, যেখানে আপনি একবার কোডটি ডিফাইন করে, বিভিন্ন স্থানে একাধিকবার কল করতে পারবেন।

উদাহরণ 1: Simple Addition Macro

HOW IZ I ADD YR num1 YR num2
    FOUND YR SUM OF num1 AN num2
IF U SAY SO

এখানে ADD একটি ম্যাক্রোর মতো কাজ করছে, যা দুটি মানের যোগফল প্রদান করবে। আপনি এটি একাধিক স্থানে কল করতে পারেন।

ফাংশন কল করা:

I HAS A num1 ITZ 5
I HAS A num2 ITZ 10
I HAS A result ITZ I IZ ADD YR num1 YR num2
VISIBLE result   // আউটপুট হবে 15

এখানে, ADD ফাংশনটি num1 এবং num2 এর যোগফল দেয় এবং ফলস্বরূপ result ভেরিয়েবলে সেটি অ্যাসাইন করা হয়।


ফাংশন এবং Macros-like Reusability

ললকোডে ফাংশন ব্যবহার করলে কোডের পুনঃব্যবহারযোগ্যতা অর্জিত হয়, যা macros এর মতো কাজ করে, এবং একই কোড বারবার লিখতে না হয়।

উদাহরণ 2: Reusable Subtraction Macro

HOW IZ I SUBTRACT YR num1 YR num2
    FOUND YR DIFF OF num1 AN num2
IF U SAY SO

এখানে, SUBTRACT ফাংশনটি দুটি সংখ্যা থেকে বিয়োগফল প্রদান করে। আপনি এটি একাধিক জায়গায় ব্যবহার করতে পারবেন।

ফাংশন কল করা:

I HAS A num1 ITZ 15
I HAS A num2 ITZ 5
I HAS A result ITZ I IZ SUBTRACT YR num1 YR num2
VISIBLE result   // আউটপুট হবে 10

এখানে SUBTRACT ফাংশনটি num1 এবং num2 এর বিয়োগফল প্রদান করবে এবং result ভেরিয়েবলে সেটি অ্যাসাইন হবে।


Benefits of Using Functions for Macros

  1. Code Reusability: একবার কোড লিখে, যে কোনো স্থানে পুনরায় কল করতে পারবেন।
  2. Maintainability: কোডের কোনো অংশে পরিবর্তন করলে সেই অংশটি যেখানে ব্যবহার হয়েছে, সেখানে পরিবর্তন হবে।
  3. Readability: কোড পরিষ্কার এবং সংক্ষিপ্ত থাকে, যা বুঝতে সহজ।

সারসংক্ষেপ

ললকোডে macros এর মতো Code Reusability অর্জন করার জন্য ফাংশন ব্যবহার করা যায়। HOW IZ I দিয়ে ফাংশন ডিফাইন করে, FOUND YR দিয়ে মান ফেরত দেওয়া হয় এবং এটি কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে। ADD বা SUBTRACT এর মতো ফাংশনগুলি পুনরায় কল করা যেতে পারে, যা ম্যাক্রোর মতো কাজ করে।

Content added By

Function এবং Macro দুইটি প্রোগ্রামিং কনসেপ্ট যা প্রোগ্রাম কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি করার জন্য ব্যবহৃত হয়, তবে এগুলোর মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। এখানে Function এবং Macro এর পার্থক্য এবং তাদের ব্যবহার নিয়ে বিস্তারিত আলোচনা করা হবে।


Function (ফাংশন)

ফাংশন হল একটি কোডের ব্লক যা একটি নির্দিষ্ট কাজ সম্পাদন করে এবং সাধারণত কিছু ইনপুট (প্যারামিটার) গ্রহণ করে এবং একটি আউটপুট (রিটার্ন মান) প্রদান করে।

ফাংশনের বৈশিষ্ট্য:

  1. কম্পাইলিং: ফাংশনগুলো কম্পাইলার দ্বারা চালিত হয় এবং রuntime সময় এ কার্যকর হয়।
  2. রিটার্ন ভ্যালু: ফাংশন সাধারণত একটি মান ফেরত দেয়।
  3. প্যারামিটারস: ফাংশন প্যারামিটার গ্রহণ করতে পারে, যা সেটি ব্যবহার করে আউটপুট উৎপন্ন করতে পারে।
  4. ডিবাগিং: ফাংশনের মাধ্যমে কোডের কার্যক্রম এককভাবে পরীক্ষা করা যায়, যা ডিবাগিং সহজ করে।
  5. নামকরণ: ফাংশন সাধারণত একটি নাম থাকে, যা কোডের মধ্যে কল (ডাকা) করা হয়।

উদাহরণ (ললকোডে ফাংশন):

HOW IZ I ADD YR num1 YR num2
    FOUND YR SUM OF num1 AN num2
IF U SAY SO

I HAS A num1 ITZ 5
I HAS A num2 ITZ 10
I HAS A result ITZ I IZ ADD YR num1 YR num2
VISIBLE result   // আউটপুট হবে 15

এখানে ADD ফাংশন দুটি সংখ্যা যোগ করে তাদের যোগফল রিটার্ন করে।


Macro (ম্যাক্রো)

ম্যাক্রো একটি কোড টেমপ্লেট বা নির্দেশ যা একটি নির্দিষ্ট শর্ত বা ডেটা অ্যাসাইন করা হলে স্বয়ংক্রিয়ভাবে কোডের নির্দিষ্ট অংশকে পরিবর্তন করে। এটি একটি প্রিপ্রসেসর নির্দেশনা যা কম্পাইলারের আগে কোডে ব্যবহৃত হয় এবং এটি সাধারণত একাধিক কোড স্টেটমেন্টের সংমিশ্রণ হিসেবে কাজ করে।

ম্যাক্রোর বৈশিষ্ট্য:

  1. কম্পাইলিংয়ের আগে এক্সপ্যান্ড হয়: ম্যাক্রোগুলি কম্পাইলারের পূর্বে প্রিপ্রসেসর দ্বারা এক্সপ্যান্ড বা প্রসারিত হয়।
  2. প্যারামিটারস: ম্যাক্রোও প্যারামিটার গ্রহণ করতে পারে, কিন্তু এটি ডাইনামিকভাবে কাজ করে না, বরং স্ট্যাটিকভাবে কাজ করে।
  3. রিটার্ন ভ্যালু নেই: ম্যাক্রো রিটার্ন ভ্যালু প্রদান করে না, এটি কোডের একটি ব্লক থাকে যা অন্যান্য কোডে ইনসার্ট করা হয়।
  4. এফিসিয়েন্সি: ম্যাক্রো কোডের আউটপুট হিসাবে ব্যবহার করা হলে কার্যকরী হতে পারে, কারণ এটি কম্পাইলার পর্যায়ে এক্সপ্যান্ড হয় এবং অতিরিক্ত প্রোগ্রাম চলাচল কমাতে সাহায্য করতে পারে।
  5. ডিবাগিং কঠিন: ম্যাক্রোগুলির মধ্যে কোন আউটপুট বা রিটার্ন ভ্যালু না থাকায়, ডিবাগিং প্রক্রিয়া কঠিন হতে পারে।

উদাহরণ (ম্যাক্রো):

MACRO ADD YR num1 YR num2
    SUM OF num1 AN num2
ENDMACRO

I HAS A num1 ITZ 5
I HAS A num2 ITZ 10
I HAS A result ITZ ADD YR num1 YR num2
VISIBLE result   // আউটপুট হবে 15

এখানে ADD ম্যাক্রো দুটি সংখ্যা যোগ করে এবং এর যোগফল কোডের মধ্যে ইনসার্ট করা হয়।


পার্থক্য (Difference between Function and Macro)

বিষয়ফাংশন (Function)ম্যাক্রো (Macro)
প্রক্রিয়াফাংশন কম্পাইলার দ্বারা রUNTIME এ এক্সিকিউট হয়।ম্যাক্রো প্রিপ্রসেসর দ্বারা কম্পাইলারের আগে এক্সপ্যান্ড হয়।
রিটার্ন ভ্যালুরিটার্ন ভ্যালু প্রদান করে।রিটার্ন ভ্যালু নেই।
কোডের কার্যকারিতাকোডের কার্যকারিতা সময়ের মধ্যে চলে।কোডের কার্যকারিতা কম্পাইলেশন পর্যায়ে চলে।
প্যারামিটারফাংশন প্যারামিটার গ্রহণ করতে পারে এবং সেগুলির উপর কাজ করে।ম্যাক্রোও প্যারামিটার গ্রহণ করতে পারে, তবে এগুলি স্ট্যাটিকভাবে কাজ করে।
ডিবাগিংফাংশনের মধ্যে ডিবাগিং সহজ, কারণ কোড লজিক্যালি বিচ্ছিন্ন থাকে।ম্যাক্রোতে ডিবাগিং কঠিন হতে পারে, কারণ কোড এক্সপ্যান্ড হওয়ার পর বুঝতে সমস্যা হতে পারে।
প্রয়োগফাংশন সাধারণত কম্পিউটার সাইন্স এবং সফটওয়্যার ডেভেলপমেন্টে ব্যবহৃত হয়।ম্যাক্রো মূলত কোডের পুনঃব্যবহারযোগ্য অংশ হিসেবে ব্যবহৃত হয়, তবে এটি কম্পাইলারের পূর্বে প্রক্রিয়া হয়।

কখন কোনটি ব্যবহার করবেন?

  1. ফাংশন:
    • যখন ডাইনামিক কোডের প্রয়োজন হয় এবং এটি রিটার্ন মান নিয়ে কাজ করতে পারে।
    • যখন কোডের পুনঃব্যবহারযোগ্যতা প্রয়োজন এবং ডিবাগিং সহজ করতে চান।
  2. ম্যাক্রো:
    • যখন কোডের এক্সপ্যানশন এবং স্ট্যাটিক কোড পরিবর্তনের প্রয়োজন হয়।
    • যখন কর্মক্ষমতা বা কার্যকারিতা উন্নত করতে চান (যেমন, কোডকে কম্পাইলারের আগে প্রসেস করা)।

সারসংক্ষেপ

  • ফাংশন ডাইনামিকভাবে কাজ করে এবং রিটার্ন ভ্যালু প্রদান করে, যখন ম্যাক্রো স্ট্যাটিকভাবে কাজ করে এবং কোনো রিটার্ন ভ্যালু প্রদান করে না।
  • ফাংশন সাধারণত কোডের কার্যকারিতা এবং ডিবাগিংয়ের জন্য ব্যবহৃত হয়, যেখানে ম্যাক্রো কোডের আউটপুটের উপর নিয়ন্ত্রণ রাখতে ব্যবহৃত হয়।

এটি আপনার প্রোগ্রামিং প্রোজেক্টের প্রয়োজন অনুযায়ী যে কোনো একটি ব্যবহার করার সিদ্ধান্ত নেওয়া গুরুত্বপূর্ণ।

Content added By

ললকোডে 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 রিটার্ন করে।

আউটপুট:

1035

Complex 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" ফিরিয়ে দেয়।

আউটপুট:

Large

Complex 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 শর্তযুক্ত লজিক দিয়ে ম্যাক্রো তৈরি করা যায় যা বিভিন্ন ফলাফল প্রদান করে।
  • এই ম্যাক্রো ব্যবহারের মাধ্যমে ললকোডে কোডের পুনঃব্যবহার এবং কার্যকারিতা বৃদ্ধি করা সম্ভব।
Content added By
Promotion

Are you sure to start over?

Loading...