শর্তগুলির নির্দিষ্ট অর্থ কী: কার্যকারিতা, পদ্ধতি, পদ্ধতি এবং সাবরুটাইনগুলি?


11

আমি ভাবছি যে কোডের সম্পর্কিত অংশগুলিকে গোষ্ঠীকরণের জন্য আমরা যে পরিভাষাগুলি ব্যবহার করি তার নির্দিষ্ট পার্থক্যগুলি কী। আমি মাঝে মাঝে শব্দের বিনিময়যোগ্য ব্যবহার করে দেখেছি: অনেক ওও ভাষা এমনকি কোনও পদ্ধতিটি সংজ্ঞায়িত করতে "ফাংশন" শব্দটি ব্যবহার করে। (কেন?)

আপনি যদি সুনির্দিষ্ট হতে চান, তবে প্রত্যেকটির নির্দিষ্ট অর্থ কী? বা এটি প্রতিটি ভাষা এটির কল করতে যা পছন্দ করে?


functionপদ্ধতির জন্য যে দুটি ভাষা আমি ব্যবহার সম্পর্কে সচেতন তা হ'ল জাভা স্ক্রিপ্ট এবং পিএইচপি। উভয়ই অ-পদ্ধতিগুলির জন্য বিনামূল্যে কীওয়ার্ড ব্যবহার করে (নিখরচায় ফাংশন) এবং জাভাস্ক্রিপ্টের ক্ষেত্রে ফাংশন এবং পদ্ধতির মধ্যে সত্যই কোনও পার্থক্য নেই, অন্তত ভাষা স্তরে নয়।

উদাহরণ: মধ্যে VB.Net Subএকটি হল Functionএকটি ফিরতি মূল্য ছাড়া। ইন Pythonআপনি যদি একটি ফাংশন যে কোনো শ্রেণী অংশ নয় থাকতে পারে, তাই এটি একটি পদ্ধতি নয়। আপনি ফাংশনগুলির মধ্যে ফাংশনগুলিও ঘোষণা করতে পারেন এবং আপনি এটি সি # তেও করতে পারেন। কখনও কখনও আপেল এবং আনারস একই কারণে তাদের আলাদা আলাদা নাম থাকে: কারণ এগুলি আলাদা।
চাকরি

এতক্ষণ আপনি কী খুঁজে পেয়েছেন যা আপনাকে মনে করে যে কোনও তাত্পর্য আছে?
জেফো

উত্তর:


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

  • ফাংশন, পদ্ধতি
    এগুলি প্রায়শই পরস্পরের পরিবর্তে ব্যবহৃত হয় তবে কিছু ভাষায় একটি পার্থক্য রয়েছে। পাস্কলে একটি ফাংশন হ'ল একটি উপ-প্রোগ্রাম যা মান দেয়, অন্যদিকে একটি পদ্ধতি এমন একটি উপ-প্রোগ্রাম যা তা দেয় না। সি এবং সম্পর্কিত ভাষায়, প্রতিটি উপ-প্রগ্রামের একটি রিটার্ন টাইপ থাকে (এমনকি তা হলেও void), তাই কোনও পার্থক্য নেই।

  • পদ্ধতি, সদস্য ফাংশন
    এগুলি একই জিনিসটির দুটি নাম - মূলত একটি ফাংশন যা প্রদত্ত শ্রেণি বা বস্তুর সাথে সম্পর্কিত।

  • অপারেটর
    প্রতিটি ভাষার অন্তর্নির্মিত অপারেটরগুলির একটি সেট থাকে। কিছু ভাষায়, যেমন সি ++ এর মধ্যে অপারেটরগুলি এমন ফাংশন যা ওভাররাইড করা যায় (যেমন প্রতিস্থাপন করা) এবং / অথবা ওভারলোড (যেমন নতুন ধরণের জন্য সংজ্ঞায়িত)।

  • বেনামে ফাংশন
    এটি নাম ব্যতীত কোনও ফাংশনকে বোঝায়। বেনামে ফাংশনগুলি মূলত কোডের ব্লক যা ভেরিয়েবলগুলিতে বরাদ্দ করা যেতে পারে বা পরবর্তী ব্যবহারের জন্য প্যারামিটার হিসাবে পাস করা যেতে পারে, উদাহরণস্বরূপ একটি সমাপ্তির রুটিন হিসাবে।

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


4
সমস্ত ভাষা অন্তর্নির্মিত অপারেটরদের সাথে আসে না। স্কিম এবং হাস্কেলের মতো কিছু, কেবল আপনাকে '+' বা '>> =' এর মতো নামের সাথে ফাংশনগুলি সংজ্ঞায়িত করতে দেয়। এছাড়াও, আপনার সম্ভবত এটি যুক্ত করা উচিত যে কিছু ভাষায় (যেমন স্কিম), "ফাংশন" বলতে রেফারেনশিয়াল স্বচ্ছতা বোঝায় (উদাহরণস্বরূপ, এটি কোনও পার্শ্ব-প্রতিক্রিয়া ছাড়াই একই ইনপুটটির জন্য সর্বদা একই মান প্রদান করে) যখন পদ্ধতিটি করে না। অন্যথায়, দুর্দান্ত উত্তর।
টিখন জেলভিস 21

এখনও অবধি আমি মনে করতে পারি "অপারেটর" বেশিরভাগ 2 টি যুক্তিযুক্ত ফাংশনের জন্য ব্যবহৃত হত। তারা ইনফিক্স ছিল (তর্কগুলির মধ্যে অপারেটর 2 + 2:)। ++arg(প্রিফিক্স) বা arg++(পোস্টফিক্স) মতো 1-আরগের মতো ছোট ব্যতিক্রম রয়েছে । যদিও, আমি অনেক পোস্টফিক্স অপারেটরকে দেখিনি ..
Darek Nędza

-1

এটি ভাষার উপর নির্ভর করে আপনি তাদের সাথে কী করতে পারেন

  • আপনার কি পার্থক্য দরকার?
  • বাক্যবিন্যাসের মধ্যে কোনও পার্থক্য রয়েছে, বা কোড সম্পর্কে কথা বলার সময় এটি কেবল সুবিধা

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

যদি এটি কিছু ফেরত দেয় তবে এটিকে একটি ফাংশন বলা হয়েছিল।

জাভার মতো কোনও ওওপি-ভাষায় আমি 'ফাংশন' শব্দটি খুব কমই পেয়েছি, তবে 'পদ্ধতি', এবং এটি শেখানো হয়েছিল যে ফাংশনগুলি এমন জিনিস যা বিশ্বব্যাপী এবং প্রত্যেককে ডেকে আনা যায়।

ফাংশনাল এবং ওওপি-ভাষার স্ক্যালায়, কোনও পদ্ধতিকে ফাংশন বলা হয় না, তবে আপনি এই জাতীয় জিনিসটি অন্য পদ্ধতিতে পাস করতে পারেন এবং তারপরে এটি একটি ফাংশন হয়ে যায়।

সাববুটিন হ'ল একটি রুটিন, যা অন্য রুটিন দ্বারা ডাকে, আমার বোঝার জন্য।

সংক্ষেপে, আমি মনে করি না যে সমস্ত ভাষাগুলির চেয়ে আরও সংক্ষিপ্ত সংজ্ঞা রয়েছে। আপনি যদি এই শব্দগুলি ব্যবহার করেন তবে আপনাকে নির্দিষ্ট সংস্কৃতিটি বিবেচনা করতে হবে - সম্ভবত আপনার সংজ্ঞাটি প্রথমে প্রবর্তন করা উচিত।


-1

আমি প্রসঙ্গের উপর নির্ভর করে বলব, এই সমস্ত শব্দের অর্থ একই জিনিস বা বন্যপ্রাণ বিভিন্ন জিনিস হতে পারে, উদাহরণস্বরূপ কালেব যা লিখেছেন (তবে আরও কিছু রয়েছে, যেখানে অপারেটররা প্রথম শ্রেণির কাজগুলি ইত্যাদি)। সুতরাং, একটি নির্দিষ্ট সংজ্ঞা দেওয়া শক্ত এবং প্রসঙ্গ (প্রোগ্রামিং ভাষা) না জানা থাকলে বেশি ধারণা না করা বুদ্ধিমানের।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.