"ল্যাম্বদা" কোড কী?


17

আমি সম্প্রতি লোকেদের কোড "ল্যাম্বদা" হওয়ার বিষয়ে কথা বলতে শুনেছি। এই কথাটি আমি এর আগে কখনও শুনিনি। এর মানে কী?


ইহা করেছে. বেশ কয়েকবার. আমি এটি কয়েকবার চেষ্টা করেও দেখেছি - তবে দুঃখের সাথে কোন সাফল্যই পেল না। আপনার কি আরও ভাগ্য হবে? যারা প্রতিক্রিয়া জানিয়েছে তাদের ধন্যবাদ Thanks
অলিভার মুরান

10
@ অলিভার, এখানে একটি প্রশ্ন জিজ্ঞাসার অংশটি হ'ল এই প্রশ্নের উত্তর দেওয়ার জন্য আপনি কী করেছেন তাও দেখানো যাতে লোকেরা আপনার মতো একই জিনিস চেষ্টা করে না এবং আটকে যায়। উইকিপিডিয়া বা গুগল লিঙ্কগুলিতে আপনি কোথায় বিভ্রান্ত হয়েছেন তা উল্লেখ করে এটি নিশ্চিত করে যে আপনার স্তরের প্রশ্নের উত্তরটি সাধারণ স্তরের হিসাবে আরও ভাল উত্তর পেতে পারে কারণ এটি আপনি যা চেয়েছিলেন তা কেবল রেফারেন্সিংয়ের পরে নয় wanted অন্য কেউ কী পোস্ট করছে তা চেষ্টা করে দেখুন কী ঘটে তা দেখুন। আপনি কি ফলাফল অবাক হতে পারে।
জেবি কিং

7
আমি বুঝতে পারি এর থেকে একটি র‌্যাপ তৈরি করা যেতে পারে - "আমার কোড সো লাম্বদা"। তবে আমি এটির জন্য মূল্য ছড়াতে পারি না। :-)
পল নাথান

1
@ জেবি কিং + জেবি কিং - আপনার সৌজন্য মন্তব্যের জন্য আপনাকে ধন্যবাদ। বিস্তৃত ভাষায়, আপনি উভয়ই বোধগম্য। যাইহোক, ক্যোয়ারির উপর নির্ভর করে, কখনও কখনও সংক্ষিপ্ত এবং উন্মুক্ত প্রশ্ন অন্য কোথাও পাওয়া যায় না এমন ধরণের উত্তরগুলি খুঁজে বের করার ক্ষেত্রে ভাল। আমার প্রশ্নটি সুনির্দিষ্টভাবে আমি যে ধরণের উত্তরগুলির সন্ধান করছিলাম lic আমি এটি শব্দযুক্ত যাতে এটি যে। আমি আশা করি নীচের উত্তরগুলি একই প্রশ্নের সাথে অন্যদের জন্য দরকারী। এটা হাস্যকর যে আমি একই সময়ে উত্তরগুলি নিয়ে সন্তুষ্ট যে কেউ কেউ প্রশ্নটি নিয়ে হতাশ হয়েছেন।
অলিভার মুরান

2
@ পল নাথান - আপনি এতটাই লম্বা কোড যা আপনি স্পষ্টভাবে কোনও মান হিসাবে কাজ করার পরিকল্পনা করেন নি; এটি একটি sandre চেয়ে রাউগার!
glenatron

উত্তর:


20

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

সি # তে ল্যাম্বডা এক্সপ্রেশনগুলির একটি সাধারণ উদাহরণ

উদাহরণ স্বরূপ:

List<int> items = new List<int>();
items.add(1);
items.add(2);
items.add(1);
items.add(3);

int CountofOnes = items.FindAll(item => item == 1).Count();

Console.Out.WriteLine(CountofOnes);

আউটপুট হবে: 2

এই কোডে, আমি FindAll.NET এর Listঅবজেক্টের ফাংশনে ল্যাম্বডা নির্মাণটি পাস করি ।

items.FindAll(item => item == 1)

এই কলের ল্যাম্বদা একটি সাধারণ সমীকরণ সম্পাদন করে এবং FindAllকী করতে হবে তা জানিয়ে একটি বুলিয়ান দেয়।


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

আপনি ঠিক বলেছেন, স্বচ্ছতার জন্য আমি উত্তরটি সংশোধন করব।
টিমোথী গ্রুট 15

3
দয়া করে আমাকে ল্যাম্বডা অভিব্যক্তির একটি উদাহরণ দিন যা কোনও ফাংশন নয় please
এঙ্গো

1
@ ইঙ্গো, এটি অবশ্যই ল্যাম্বডা ক্যালকুলাসের একটি পরিভাষা। en.wikedia.org/wiki/Lambda_calculus# Lambda_terms
এসকে-যুক্তি

1
@ এসকে-যুক্তি আমি এটিকে অন্যভাবে দেখতে পছন্দ করি। হাস্কেল এবং সি # এর মতো ভাষাগুলি একটি লেট (রেক) নির্মাণে বা "সুপার-কম্বিনেটর" (অর্থাত্ শীর্ষ স্তরের ফাংশন বাইন্ডিং) আকারে নামের সাথে ফাংশনগুলি বাঁধাই সম্ভব করে তোলে এবং এটি আমি যে এত বড় পার্থক্য হিসাবে দেখছি অনুভব করবেন না যে এখানে মূল ল্যাম্বডা পরিভাষা প্রয়োগ করা ঠিক। কারণ এলসিতে এ জাতীয় কোনও জিনিসই সম্ভব নয় (পুনরাবৃত্তির জন্য আপনার কেন সংযুক্তকারী প্রয়োজন তা অবিকল এটি)। হাস্কেলের ((y xy -> x) a) এবং (কনস্ট এ) এর ফলাফল একই এবং উভয়ই অ্যাপ্লিকেশন, তবে আমি কেবল "ল্যাম্বডা অ্যাপ্লিকেশন" হিসাবে প্রথম শব্দটি চাই।
এঙ্গো

3

নামবিহীন (নামবিহীন) ফাংশন বা এমন কোনও বস্তু যা সাধারণত অন্য ফাংশনের আর্গুমেন্ট হিসাবে অন্তর্ভুক্ত থাকে।

সুতরাং, নামস্থান কম দূষিত।


1

লাম্বদা সাধারণত একটি কার্যকরী প্রোগ্রামিং প্রসঙ্গে একটি ফাংশন এক্সপ্রেশনকে বোঝায়।

এটি অজগরটিতে ল্যাম্বডা অভিব্যক্তি:

lambda x: x + 1

এমন একটি ফাংশন প্রতিনিধিত্ব করে যা এর পরামিতিটিকে x1 দ্বারা বাড়িয়ে তোলে ।

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