আমি _ => _.method()
ওয়ান-লাইন, মেথড-কল ল্যাম্বডাসের জন্য দ্বিতীয়টি ব্যবহার করি , কারণ এটি নির্দেশনার জ্ঞানীয় ওজন হ্রাস করে। বিশেষত জেনেরিক্স ব্যবহার করার সময়, লেখার x => x.method()
ফলে "" এটি কি এই 'এক্স' এর স্প্লিট-সেকেন্ড বিবেচনা যুক্ত করে? এটি কি স্থানের মধ্যে একটি স্থানাঙ্ক? "
নিম্নলিখিত বিষয় বিবেচনা করুন:
Initialize<Client> ( _=>_.Init() );
জেনেরিক্স কল সহ ব্যবহৃত, এই ক্ষেত্রে আন্ডারস্কোরটি "বাইপাস প্রতীক" হিসাবে কাজ করে। এটি অপ্রয়োজনীয়তা এড়ায়, সংজ্ঞায়িত করে যে আর্গুমেন্টের ধরণ সুস্পষ্ট এবং ব্যবহার থেকে অনুগ্রহ করা যায় - ঠিক তেমনি যখন আপনি কোনও প্রকারের ঘোষণাকে পুনরুক্ত করতে প্রতিরোধ করতে 'ভার' ব্যবহার করেন। লেখা client=>client.Init()
এখানে শুধু নির্দেশ আর এটি কোন অর্থ যোগ ছাড়া করতে হবে।
স্পষ্টতই, পদ্ধতিতে পাস করার জন্য এটি পরামিতিগুলির ক্ষেত্রে প্রযোজ্য না, যা বর্ণনামূলকভাবে নামকরণ করা উচিত। যেমন .:Do( id=>Log(id) );
ওয়ান-লাইনারের পরিবর্তে কোডের ব্লক ব্যবহার করার সময় পদ্ধতি কলগুলির জন্য একক-আন্ডারস্কোর-পরামিতি ব্যবহার খুব কমই ন্যায়সঙ্গত, কারণ ল্যাম্বডা শনাক্তকারী এর জেনেরিক সংজ্ঞা থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়। সাধারণভাবে যখন একই শনাক্তকারী পুনরায় ব্যবহার করতে হয়, তখন এটি একটি বর্ণনামূলক নাম দিন।
মূল কথাটি হ'ল ভারবোসিটি কেবল ছদ্মবেশের জন্য ন্যায়সঙ্গত, বিশেষত ল্যাম্বডাসের জন্য, যা প্রথম স্থানে বেনাম প্রতিনিধিদের সৃষ্টি সহজ করার জন্য তৈরি করা হয়েছিল। যাই হোক না কেন, জ্ঞানবোধ ব্যবহার করা উচিত, সুসংগততা এবং সংক্ষিপ্ততার সামঞ্জস্য রেখে। প্রতীকটি যদি আসল কার্যকারিতাটির জন্য কেবল "হুক" হয় তবে একটি চরিত্র শনাক্তকারী পুরোপুরি ভাল fine ফর-লুপগুলি এবং সূচক হিসাবে "i" এবং "j" অক্ষরের ক্ষেত্রে এটিই।