লাম্বদা কী?


93

ল্যাম্বডা কী তা কি কেউ একটি ভাল বর্ণনা প্রদান করতে পারেন? আমাদের কাছে তাদের জন্য একটি ট্যাগ রয়েছে এবং তারা সি # প্রশ্নের গোপনীয়তার উপর রয়েছে, তবে তারা এখনও প্রথম স্থানে রয়েছে তার একটি ভাল সংজ্ঞা এবং ব্যাখ্যা আমি পাইনি।


4
শুরু করার জন্য উইকিপিডিয়ায় ল্যাম্বডা ক্যালকুলাস নিবন্ধ সম্পর্কে কীভাবে ? তারপরে উইকিপিডিয়ায় ফাংশনাল প্রোগ্রামিং নিবন্ধটি অনুসরণ হিসাবে রয়েছে।
Thorsten79


আমদা এক্সপ্রেশন সুন্দরভাবে এখানে ব্যাখ্যা ।
জামির মুলানী

উত্তর:


135

বন্ধ, ল্যাম্বডাস এবং বেনামে ফাংশনগুলি অগত্যা একই জিনিস নয়।

বেনামে ফাংশন এমন কোনও ফাংশন যা এর নিজস্ব নাম (বা কমপক্ষে প্রয়োজন) থাকে না।

ক্লোজার হ'ল এমন একটি ফাংশন যা ঘোষিত হওয়ার পরেও তার সুযোগের বাইরে চলে যাওয়ার পরেও এটির লেজিকাল স্কোপে থাকা ভেরিয়েবলগুলি অ্যাক্সেস করতে পারে । বেনামে ফাংশনগুলি অগত্যা ক্লোজার হতে হবে না, তবে এগুলি বেশিরভাগ ভাষায় থাকে এবং যখন তারা না হয় তখন কম কার্যকর হয়।

একটি ল্যাম্বডা হ'ল কম্পিউটার সায়েন্স যতটা যায় ঠিক তেমন সংজ্ঞায়িত হয় না। প্রচুর ভাষা এমনকি শব্দটি ব্যবহার করে না; পরিবর্তে তারা তাদের কেবল ক্লোজার বা আনয়ন ফাংশন বলবে বা তাদের নিজস্ব পরিভাষা আবিষ্কার করবে। এলআইএসপি-তে, একটি ল্যাম্বডা কেবল একটি বেনাম ফাংশন। পাইথনে, একটি ল্যাম্বডা একটি বেনাম ফাংশন বিশেষত একক অভিব্যক্তিতে সীমাবদ্ধ; আরও কিছু, এবং আপনার একটি নামকৃত ফাংশন দরকার। ল্যাম্বডাস উভয় ভাষায় ক্লোজার।


শব্দটি লাম্বডা ক্যালকুলাস en.wikedia.org/wiki/Lambda_calculus
স্টিভেন এ লো লো

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

8
"ক্লোজ ওভার" শব্দটি কোনও ক্লোজারটিকে সংজ্ঞায়িত করার জন্য ব্যবহার না করার জন্য এটি 1 আরও পরিষ্কার করে তোলে।
ড্যানিয়েল

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

19

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


17

"লাম্বদা" বলতে ল্যাম্বদা ক্যালকুলাস বা নির্দিষ্ট ল্যাম্বডা এক্সপ্রেশনকে বোঝায় । ল্যাম্বদা ক্যালকুলাস মূলত যুক্তি ও গণিতের একটি শাখা যা ফাংশনগুলির সাথে সম্পর্কিত এবং এটি কার্যকরী প্রোগ্রামিং ভাষার ভিত্তি ।

~ উইলিয়াম রিলি-ল্যান্ড


8

এটি কেবলমাত্র একটি বেনাম ফাংশন ইনলাইন হিসাবে ঘোষণা করা হয়েছে, সাধারণত আপনি যখন কোনও পূর্ণাঙ্গ ফাংশন লিখতে চান না তখন কোনও প্রতিনিধিকে অর্পণ করা হয়।

লিসপ / স্কিমের মতো ভাষায়, তারা প্রায়শই ফাংশন প্যারামিটার হিসাবে প্রায় উদারপন্থী হয়ে যায়, তবে সি # এর আইডিয়ামটি সাধারণত ল্যাঙ্কের মতো ফাংশনগুলির অলস মূল্যায়নের জন্য বা ইভেন্ট হ্যান্ডলিং কোডটি কিছুটা পরিশ্রমের জন্য ব্যবহৃত ল্যাম্বডাসকে খুঁজে পায়।


5

প্রোগ্রামিংয়ে আসলে 'ল্যাম্বডা' এর মতো জিনিস নেই। এটি ভাষা ইত্যাদির উপর নির্ভর করে

সংক্ষেপে, সাধারণত 'ল্যাম্বডাস' এমন একটি ভাষা বেনাম ফাংশন বা কিছু ক্ষেত্রে ক্লোজারের জন্য এই শব্দটি ব্যবহার করে। রুবিতে:

f = lambda { return "this is a function with no name" }
puts f.call

4

পূর্ববর্তী উত্তরের জবাবে:
-বেনামী ফাংশনগুলির বিষয়ে গুরুত্বপূর্ণ বিষয়টি হল যে তাদের কোনও নামের প্রয়োজন নেই।
- বন্ধগুলি একটি পৃথক ধারণা।
-একটি বিশাল উইকিপিডিয়া নিবন্ধ এটিকে আরও পরিষ্কার করে দিচ্ছে না।

এখানে আমার 3 টি অংশে উত্তর:
1. একটি ল্যাম্বডা একটি ফাংশন যা একটি প্রকাশও। এটি গুরুত্বপূর্ণ জিনিস।
২. অনেকগুলি ভাষাগুলি যা তথাকথিত "ল্যাম্বডাস" প্রয়োগ করে এই সংক্ষিপ্ত ফাংশনগুলি লেখার সহজ এবং দ্রুততর করার জন্য কিছু সিনট্যাকটিক চিনি যুক্ত করে তবে এটি প্রয়োজন হয় না।
৩. কিছু ভাষায় ল্যাম্বার কোনও পার্শ্ব প্রতিক্রিয়া নাও থাকতে পারে । এটি কার্যকরী অর্থে আরও বিশুদ্ধ ল্যাম্বডা হবে।

যখন কোনও ফাংশনটি একটি অভিব্যক্তি হয়, তখন এটি ভাষার মধ্যে "প্রথম শ্রেণির নাগরিক" থাকে। আমি এটি দিয়ে সমস্ত গুরুত্বপূর্ণ জিনিস করতে পারি:

x = lambda(){ return "Hello World"; }

doit( 1, 2, lambda(a,b){ return a > b; }, 3 )

x = (lambda(a){ return a+1; }) + 5  // type error, not syntax error

(lambda(a,b){ print(a); log(b); })( 1, 2 )  // () is valid operator here

1

উইকিপিডিয়া থেকে ক্লিপড: http://en.wikedia.org/wiki/Lambda# Lambda.2C_the_word

লিস্প এবং পাইথনের মতো প্রোগ্রামিং ভাষায়, ল্যাম্বডা এমন একটি অপারেটর যা বেনামে ফাংশন বা ক্লোজারগুলি বোঝাতে ব্যবহৃত হয়, ল্যাম্বদা ক্যালকুলাস ব্যবহারের পরে।


আমি মনে করি আপনার এই লাইনটি বোঝানো হয়েছিল: লিস্প এবং পাইথনের মতো প্রোগ্রামিং ভাষায় ল্যাম্বডা এমন একটি অপারেটর যা লম্বা ক্যালকুলাস ব্যবহারের পরে বেনামে ফাংশন বা ক্লোজারগুলি বোঝাতে ব্যবহৃত হয়। আমি ইতিমধ্যে নিবন্ধটি স্ক্যান করেছি তবে তা মিস করেছি।
ফ্রেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.