দাড়ি-দাড়ি সহ এই স্মাইলিটি কী: "<:] {%>"?


300

আমি নিম্নলিখিত প্রোগ্রাম জুড়ে এসেছি, যা ত্রুটি বা এমনকি সতর্কতা ছাড়াই সংকলন করে:

int main(){
  <:]{%>; // smile!
}

সরাসরি উদাহরণ।

প্রোগ্রামটি কী করে এবং সেই হাসি-ভাবটি কী?


44
আমি এই লাইনের সাথে বোনাস হিসাবে একটি প্রোগ্রামিং ক্লাসে কিছু দিয়েছি। আমি মন্দ, আমি জানি। এটি গুগলে খুব অদম্য।
খ্রিস্ট

57
চমৎকার খতনা; শুনেছি তারা "ungoogleable" বলার জন্য আপনার বিরুদ্ধে মামলা করছে।
ম্যাট

3
@ ম্যাটেট তাদের বিরুদ্ধে মামলা দায়ের করা হয়েছে: বিবিসি
এডওয়ার্ড

2
আপনি দয়া করে গৃহীত উত্তর পরিবর্তন বিবেচনা করতে পারেন?
nhahtdh

4
@ রহস্যময়: মজার উত্তরগুলি মজাদার তবে দিনের শেষে এটি পাঠকদের সত্যিই সহায়তা করে না।
nhahtdh

উত্তর:



354

প্রোগ্রামটি নিম্নোক্ত প্রতিনিধিত্ব করতে ডিজিট্রাফ ব্যবহার করে :

[] {};

এটি একটি ল্যাম্বডা এক্সপ্রেশন যা কিছুই করে না। সম্পর্কিত প্রতীকগুলির এই সমতুল্য রয়েছে:

<: = [
%> = }

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


66

প্রোগ্রামটি ডিগ্রাফগুলি ব্যবহার করছে , যা কীবোর্ডগুলি (বা পাঠ্য এনকোডিংগুলি) সহ সি ++ প্রোগ্রামিংয়ের মঞ্জুরি দেয় যা সাধারণত সি ++ অক্ষর ব্যবহার না করে।

কোডটি এর সমাধান করে:

int main(){
  []{}; // smile!
}

61
int main(){
  <:]{%>; // smile!
}

এটি মূলত একটি ল্যাম্বডা এক্সপ্রেশন (ল্যাম্বডা এক্সপ্রেশনটি সি ++ 11 বৈশিষ্ট্যগুলির মধ্যে একটি) ডিগ্রাফগুলি ব্যবহার করে (উভয় ডিগ্রাফ এবং ট্রাইগ্রাফ সি ++ তে কাজ করে):

[] {};

শুধুমাত্র ডিগ্রাফগুলি ব্যবহার করে:

<:]<%}; 

<:]<%%>;

[:>{%>; // like my cubic hat?

[:><%};

[:><%%>;

এগুলি ত্রিগ্রাফের সাথে মিশ্রিত করা:

<:??)<%??>; // popeye

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