হত্যাকারী আধা-অনন্য প্রোগ্রামিং ভাষার বৈশিষ্ট্যগুলি [বন্ধ]


25

একটি নতুন প্রোগ্রামিং ভাষা শেখার সময় আপনি মাঝে মাঝে এমন একটি ভাষা বৈশিষ্ট্য উপস্থিত করেন যা আপনাকে জানায় যে আপনি আপনার অন্যান্য প্রোগ্রামিং ভাষাগুলিতে এটি রাখতেন।

এমন কিছু ভাষা বৈশিষ্ট্য যা আপনার কাছে খুব নতুন শেখার সময় ছিল এবং আপনার অন্যান্য প্রোগ্রামিং ভাষাগুলির ইচ্ছা ছিল।

এই একটি উদাহরণ হল জেনারেটর মধ্যে পাইথন বা C #। অন্যান্য উদাহরণগুলির মধ্যে পাইথনের তালিকার উপলব্ধি, সি ++ এ টেমপ্লেট বা। নেট এ লিনকিউ বা হাস্কেলের অলস মূল্যায়ন অন্তর্ভুক্ত থাকতে পারে।

অর্ধ-অনন্য ভাষার বৈশিষ্ট্যগুলি আপনি কীভাবে এসেছিলেন যা পুরোপুরি নতুন এবং আপনার জন্য আলোকিত ছিল? পুরানো প্রোগ্রামিং ভাষার অন্যান্য বৈশিষ্ট্যগুলি কী অনন্য ছিল এবং ফ্যাশন থেকে পড়েছিল?

উত্তর:


25

ব্যবহারিকভাবে হাস্কেলের কিছু

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

এবং আরো অনেক.

গীত। হ্যাঁ। কেউ জিজ্ঞাসা করলে আমি হাস্কেল ফ্যানবয়।


12
ন্যায়সঙ্গত হওয়ার জন্য, আপনাকে সেই তালিকার বেশিরভাগের জন্য এমএল ক্রেডিট দেওয়া উচিত।
উপুড়হস্ত

1
ঠিক আছে - monads এবং তীরগুলি বাদ দিয়ে আইআইআরসি। তবে তারা এখনও আধা- ইউনিক
ম্যাকিয়েজ পাইচোটকা

ডাউনভোটের কোনও বিশেষ কারণ?
ম্যাকিয়েজ পাইচোটকা

2
প্যাটার্ন মিলের জন্য +1। আমি এটি অন্য লোককে দেখায় এবং তারা তা পায় না। আমি মনে করি এটি প্রতিভা।
ব্যারি ব্রাউন 21

বাধ্যবাধক ( স্টিভ-yegge.blogspot.com/2010/12/… )। বিটিডাব্লু, আমি খুব কমই ল্যাম্বডাসকে অনন্য, পাইথন, সি #, জাভাস্ক্রিপ্ট ইত্যাদি বিবেচনা করব? বেশিরভাগ অন্যান্য ভাষায় এটিকে শৃঙ্খলা হিসাবে উল্লেখ করা হয়; jquery কোরটি মূলত এইচটিএমএল / ডিওএম এবং এজেএক্স মোনাডের একটি বিশাল সেট (গুগল: jQuery.fn)। তরকারিও আজকাল তুলনামূলকভাবে সাধারণ।
ইভান প্লেইস

21

লিসপ ম্যাক্রোস।

সুবিধার জন্য কয়েকটি পূর্বনির্ধারিত বাক্য গঠন বৈশিষ্ট্য সহ লিস্প ম্যাক্রো ভাষা লিস্প। এগুলি ব্যবহার করে, ভাষাতে প্রধান বৈশিষ্ট্যগুলি যুক্ত করা সম্ভব যেমন বস্তুর ওরিয়েন্টেশন শৈলীর নিজস্ব পছন্দ বা প্রোলোল-জাতীয় ডিটারমিনিস্টিক মিল, কোনও জায়গার বাইরে না তাকিয়ে। এটি setfম্যাক্রোকে সম্ভব করে তোলে , যা একটি ধারণাগতভাবে খুব শক্তিশালী ম্যাক্রো: এর (setf A B)অর্থ হ'ল আপনি যখন মূল্যায়ন Aকরবেন তখন আপনি পাবেন Bএবং এটি আপনার পছন্দসই সীমাতে বাড়ানো যেতে পারে।

সি ++ টেম্পলেট মেটাপোগ্র্যামিং একই ধরণের জিনিসগুলিতে সক্ষম তবে নিয়মিত সি ++ এর চেয়ে অনেক আলাদা ভাষায়।


+1 আমি আশা করি একদিন আমি একটি লিস্প উপভাষায় প্রোগ্রাম করতে সক্ষম হব।
অলিভার ওয়েইলার

@ হেল্পার ... সি ++ টেমপ্লেটগুলির মাধ্যমে [ভীতিজনক হাসি]
mlvljr

@ এমএলভিজেআর: আপনি ভয়ঙ্কর।
ডেভিড থর্নলি

আসলে, এটি বাক্সের বাইরে থাকা একমাত্র বৈশিষ্ট্য যা আপনার কোনও ভাষায় প্রয়োজন হবে ever লিসপ ম্যাক্রোগুলির সাহায্যে আপনি অন্যান্য সমস্ত সম্ভাব্য বৈশিষ্ট্যগুলি পরে যুক্ত করতে পারেন।
এসকে-যুক্তি

18

পাইথনের সাজসজ্জা

সাজসজ্জার ব্যবহার করে স্মৃতিচারণ বা ফাংশনের সময় নির্ধারণ করা অত্যন্ত সহজ।

একটি ফাংশন টাইমার উদাহরণ।

class FuncTimer(object):
    """ Time how much time a function takes """
    def __init__(self, fn):
        self.fn = fn
        self.memo = {}
        self.start_time = time.time()
    def __call__(self, *args):
        self.memo['return'] = self.fn(*args)
        print("Function '%s' took %u seconds" % (self.fn.__name__, time.time() - self.start_time))
        return self.memo['return']

এখন আপনার যদি কোনও ফাংশন ফু সময় থাকতে চান তবে আপনি কেবল এটি করতে পারেন,

@FuncTimer
def foo():
    # foo's implememtation goes here

আপনি কিছু দেখতে পাবেন,

ফাংশন 'ফু' 3 সেকেন্ড সময় নিয়েছিল।


জাভাতে টীকা রয়েছে, যার একই উদ্দেশ্য এবং বাক্য গঠন রয়েছে তবে খুব আলাদাভাবে কাজ করে
কেসব্যাশ

1
+1: পাইথনের সাজসজ্জাবিদরা আমাকে ভাষার প্রায় কোনও বৈশিষ্ট্যের চেয়ে বেশি প্রভাবিত করেছেন। তারা খুব সুন্দর এবং সাধারণ!
অ্যাডাম পেন্টার

আপনি আমাদের সাথে একটি সহজ উদাহরণ ভাগ করতে পারেন? আমি পাইথনকে সৎ হতে জানি না।
ShdNx

@ এসএইচডিএনএক্স, আমি কেবল একটি উদাহরণ যুক্ত করেছি।
গ্রুকাস

1
কলটির অংশ হিসাবে শুরু করার সময়টি গণনা করা উচিত নয়?
স্পষ্টভাবে

14

void*সি তে কাস্টিং আপনি কাঁচা বাইটে সবকিছু কাস্ট করতে পারেন এবং এই ডেটা দিয়ে যা খুশি তা করতে পারেন

(হ্যাঁ, আজকাল এটি অনন্য ...)


1
নেট ভাষায় অবজেক্ট খুব মিল। কেবলমাত্র আরও টাইপ-নিরাপদ ইত্যাদি
ম্যাকিয়েজ পাইচোতকা

আপনি অনেক ভাষায় আপত্তি করতে পারেন। প্রধান সমস্যাটি হ'ল বহু ভাষা আদিম এবং অবজেক্টগুলিকে পৃথক করে
কেসব্যাশ

5
@ ম্যাসিজেজ: এমনকি নেটও, আপনি সত্যিকার অর্থে অবজেক্টে কাস্ট করতে পারবেন না। আপনি সেগুলি বাক্স করুন এবং এটি একেবারে অন্যরকম একটি জন্তু। তবুও, এটি কাস্ট করার পক্ষে এখনও সম্পূর্ণ আলাদা void*...
ডিন হার্ডিং

1
Pointerপাস্কালে এবং বস্তু পাসকলে কাস্ট করা একই কাজ করে।
ফ্র্যাঙ্ক শেয়ার

1
@ ডিয়ানহার্ডিং: আচ্ছা - সি তে আপনার কাছে int64_tযা আপনি সর্বদা নিরাপদে কাস্ট করতে পারবেন না void *(দেরীতে - 2 বছর - উত্তর দিন)
ম্যাকিয়েজ পাইচোটকা

12

পাইথনে ফলন

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


1
ফলন ইতিমধ্যে প্রশ্নের তালিকায় রয়েছে।
ত্রিনিদাদ

এটি বিসিপিএল-এ ফিরে যায়।
পিটার টেলর

8

ল্যাম্বদা এক্সপ্রেশন (ক্লোজার্স, নেস্টেড ফাংশন, বেনামে পদ্ধতি, আপনি যা কিছু বলুন)

আমি প্রথম তাদের পার্ল জুড়ে এসেছিলাম, তাত্ক্ষণিকভাবে তাদের ভালবাসি এবং ভাবছিলাম যে অন্য ভাষাগুলি কেন তাদের কাছে নেই। আজকাল আমি অনুমান করি যে এটি আর অনন্য নয়; এমনকি পিএইচপি তাদের কোনওভাবে হ্যাক করতে সক্ষম হয়েছে। তবে সে সময় সেগুলি ছিল আধা-অনন্য।


5
অনন্য, আপনি যতক্ষণ না লিস্পে ফিরে যাবেন বলে গণ্য করবেন, এটি প্রায় দ্বিতীয় প্রাচীন প্রোগ্রামিং ভাষা। ;-)
মাইকেল এইচ।

-1: আধা-অনন্য নয়
কেসব্যাশ


7

ডেলফিতে সেটগুলি খুব দরকারী, কেবলমাত্র নামমাত্র বুলিয়ান অ্যারে। 32 টি চেকবাক্স সহ সেটিংস ফর্মটি সংরক্ষণ করার জন্য এগুলি খুব দরকারী। তবে তারা সমস্ত একই সেট তত্ত্বের ফাংশন পেয়েছে (যেমন পার্থক্য, ছেদ, ইউনিয়ন)।

আমি নিশ্চিত না যে তারা ফ্যাশন থেকে পড়ে গেছে কিনা তবে আমি সেগুলি সর্বদা ব্যবহার করি use


চমৎকার, তবে জাভাতে প্রয়োগ করা কি সহজ হবে না, উদাহরণস্বরূপ: বুলিয়ান []?
সি

হ্যাঁ, আপনি পারেন, তবে আমি মনে করি না যে এটি এতটা সংক্ষিপ্ত: টিএফর্ম = (এফএফ_1500 = 1, এফএফ_সিএ 251 = 5, এফএফ_উবি 0৪ = 6, এফএফ_এমএ 10 = 7); টিএফর্মসেট = টিএফর্মের সেট;
পিটার টার্নার

7

পাঠান

এরলং থেকে। অন্য থ্রেডে অ্যাসিঙ্ক্রোনাস মেসেজ পাঠায় ।

Expr1 ! Expr2

গ্রহণ করা

এরলং থেকে। অন্য থ্রেড থেকে একটি বার্তা প্রাপ্ত।

receive
    Pattern1 [when GuardSeq1] ->
        Body1;
    ...;
    PatternN [when GuardSeqN] ->
        BodyN
end

5

সি # সম্পত্তি

/// <summary>
/// Get ID
/// </summary>
public int ID
{
    get; set;
}

বনাম

(জাভা)

/**
 * Name of user
 */
private String name;

/**
 * Gets name of user
 * @return Name of user
 */
public String getName() {
    return this.name;
}

/**
 * Sets name of user. 
 * @param name
 */
public void setName(final String name) {
    this.name = name;
}

2
হ্যাঁ, তারা আরও ভাল, তবে এটি একটি খারাপ উদাহরণ। পার্থক্যটি আরও ছোট হবে যদি গিটার / সেটার প্রকৃতপক্ষে বিশেষ কিছু করে এবং সি # সংস্করণটি কম নথিভুক্ত হয়।
বার্ট ভ্যান হিউকেলোম

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

2
কেবল এটিকে লোকেরা এবং সেটটারগুলি জুড়ে উত্সাহিত করতে অনুমতি দিন না। কেবলমাত্র সেই গেটর এবং সেটার যারা কোনও বস্তুর ক্রিয়া হিসাবে বোধ করে তা ব্যবহার করা উচিত।
ডেভিড থর্নলি

3
তাদের সি # বৈশিষ্ট্য বলা হয় না, তাদের অটো-প্রোপার্টি বলা হয়
জ্যাকো প্রিটোরিয়াস

1
আজকাল অটো-প্রপার্টি খুব সাধারণ। পাইথন, উদ্দেশ্য-সি ...
কেসব্যাশ

5

ইউনিয়নে সি

আমি সত্যই বলতে পারি না যে এগুলি তৈরি করার জন্য আমি যথেষ্ট সি লিখিনি তবে আমি অন্যের কোড দিয়ে কাজ করেছি যা এটি করে।

যখন এটি অ্যাপ্লিকেশনে বিভিন্ন ডেটার মিশ্রণগুলির প্যাকেজিংয়ে নেমে আসে যা কাঁচা বিট / বাইটগুলি যেমন নেটওয়ার্কিং বা বাইনারি ডেটা স্টোরেজ হিসাবে চালিত করে। প্রবলভাবে টাইপ করা ভাষায় সমতুল্য করার সহজ উপায় নেই way

দাবি পরিত্যাগী:

যদিও ইউনিয়নগুলি কিছু ক্ষেত্রে চূড়ান্তভাবে কার্যকর, তবে তারা বেশিরভাগ উচ্চ স্তরের ভাষায় খুঁজে পাওয়া যায়নি কারণ তারা নিরাপদ নয়। আইই, আপনি ইউনিয়নগুলি ব্যবহার করে ভেরিয়েবলের সীমানা জুড়ে ডেটাটি ব্লিড করতে পারেন (প্রকারের নিরাপদ বিশ্বে কোনও বড় নয়)। মহান শক্তি দিয়ে মহান দায়িত্ব আসে।


2
একটি ভাল কারণে আইএমএইচও। তথ্য Reinterpreting ফুট (মধ্যে স্বীয় মনোভাবাদি শুটিং একটি সুন্দর উপায় en.wikipedia.org/wiki/Aliasing_(computing) )। আইএমএইচও স্পষ্ট রূপান্তর ব্যবহার করা ভাল। ইউনিয়নগুলি সঠিক উপায়ে করছে IMHO বীজগণিত ডেটা ধরণের।
ম্যাকিয়েজ পাইচোটকা

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

সমস্যাটি হ'ল সি 'উচ্চতর স্তরের ভাষা' (কেবলমাত্র নিম্ন-স্তরের উচ্চতর স্তরের ভাষা)) যেহেতু কেএন্ডআর সি এটি প্রচুর নিয়ম পেয়েছে যা দ্রুত পোর্টেবল কোড ব্যবহার করতে দেয়। দামটি হ'ল সংকলক বিভিন্ন জিনিস ধরে নিতে পারে এবং কিছু বিভ্রান্ত হতে পারে। বেশিরভাগ unionব্যবহার নিরাপদ, কিছু ভাল মতামতযুক্ত আইডিয়ামগুলি ( প্রযুক্তিগতভাবে সঠিক না হলেও) দেখুন - সেল্পার পারফরম্যান্স.বিডড3 ডটকম / পার্টিকেলস / ২০০6/০/0/২ (যদিও এটি পয়েন্টার ইউনিয়নগুলির মধ্যে আরও সমস্যা তবে এটি নকল করতে পারে)।
ম্যাকিয়েজ পাইচোটকা

ডেলফি recordইউনিয়নগুলি সমর্থন করার জন্য এর বাক্য in_addr = record case integer of 0: (S_un_b: SunB); 1: (S_un_w: SunW); 2: (S_addr: u_long); end;
গঠনটি

5

রুবিতে সংশোধক না হওয়া পর্যন্ত আমি সত্যিই পছন্দ করি । এটি খুব স্বাভাবিক বলে মনে হচ্ছে এবং প্রচুর দৃশ্যের প্রতিস্থাপন করে যেখানে আপনার কোডটি এটি ব্যতীত খুব অগোছালো বলে মনে হচ্ছে।

puts "All good" unless input.nil?

আপনি কিভাবে এটি পছন্দ করতে পারেন না? : ডি


6
পার্ল রুবির আগে ছিল। আমিও এটা ভালবাসি.
ব্যারি ব্রাউন 21

1
নিমারলে এর জন্য অনুরূপ কীওয়ার্ড রয়েছে unlessএবং whenএটি প্রচলিত শাখা প্রশাখাগুলি প্রতিস্থাপন করে যা tradition তিহ্যগতভাবে ব্যবহার করবে if/else
ম্যাটডেভি

5

অভিনব পাইথন আর্গুমেন্ট বাক্য গঠন

এটি কতটা অনন্য তা আমি নিশ্চিত নই, তবে অজগরটিতে আপনি দুর্দান্ত শব্দগুলি করতে পারেন যেমন কীওয়ার্ড জোড়া স্বয়ংক্রিয়ভাবে অভিধান এবং পিছনে তৈরি করা যায়। তালিকার সাথে একই:

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print "-- This parrot wouldn't", action,
    print "if you put", voltage, "volts through it."
    print "-- Lovely plumage, the", type
    print "-- It's", state, "!"


parrot(1000)
parrot(action = 'VOOOOOM', voltage = 1000000)
parrot('a thousand', state = 'pushing up the daisies')
parrot('a million', 'bereft of life', 'jump')

পাইথন ডক্স (আরও যুক্তি পেস্ট করার জন্য নিচে স্ক্রোল করুন)


1
তালিকায় একটি প্যারামিটার গভীর পাস করতে সক্ষম হচ্ছে জন্য +1 ছাড়া এটা আগে ঐচ্ছিক প্যারামিটার সব জন্য মান পাস হচ্ছে।
17

4

সি প্রিপ্রসেসর। এমনকি কম-বেশি - ifdefs সহ আপনি বিভিন্ন প্ল্যাটফর্মগুলিতে সাধারণ কোডও লিখতে পারেন।


2
আরও ভাল প্রাক-প্রসেসরগুলি সহজেই পাওয়া যায় যা তাদের নিজস্ব বাড়তি পদক্ষেপ নেয় এবং সমস্ত ভাষা নিয়ে কাজ করে।
ডেভিড থর্নলি

আমি ইফদেফ, ইফেনডেফ এবং অন্য কিছু নিয়ে বেশ খুশি।
ern0

3

উদ্দেশ্য-সি বিভাগসমূহ

বিভাগগুলি রানটাইমের সময় কোনও অবজেক্টের কার্যকারিতা বাড়ানোর সহজ উপায় সরবরাহ করে (উত্তরাধিকারের তুলনায় রচনা ভাবি)। ক্লাসিক উদাহরণটি হ'ল এনএসএসআরং ক্লাসে একটি বানানচেকার যুক্ত করা।

@interface NSString (SpellChecker)
- (BOOL) checkSpelling;
@end

নিম্ন প্রভাবের বাগ-ফিক্সগুলির জন্যও কার্যকর, যেহেতু কোনও পদ্ধতিতে বিভাগের প্রয়োগটি তার পিতামাতার বাস্তবায়নটিকে ওভাররাইড করে।



2

রুবি এর উদ্বুদ্ধ পদ্ধতি সঙ্গে মিলিত সাংকেতিক # to_proc রুবি 1.9 মধ্যে একটিকে লেখার কিছু অবিশ্বাস্যভাবে সংক্ষিপ্ত (কিন্তু এখনও পাঠযোগ্য) কোড করতে দেয়:

যেমন (1..10).inject(:+)

যা 1 থেকে 10 => 55 এর মধ্যে পূর্ণসংখ্যার যোগফল

এর মতো উদাহরণগুলি দেখে আমি রুবি শিখতে চেয়েছিলাম, যা আমি সবে শুরু করেছিলাম।



আমি সত্যিই এটিকে অনন্য বলব না।
দেনিথ

1
প্রশ্নের শিরোনামটি বলেছে "আধা-অনন্য", অনন্য নয়। অবশ্যই ইনজেকশন (বা মানচিত্র ইত্যাদি) এবং সিম্বল # টু_প্রোকের সংমিশ্রণে কোডের সংক্ষিপ্ততা সি, জাভা এবং সি ++ এর মতো মূলধারার ভাষার বাইরেও beyond
tcrosley

খুব সংক্ষিপ্ত (এবং আমি এটি পছন্দ করি) তবে আমি এতটা নিশ্চিত নই যে এটি এমন কোনওরকমের থেকে পৃথক: গণনীয় R রেঞ্জ (1, 10) g সি # বা অন্যান্য ভাষা থেকে
FinnNk

1

জাভাএফএক্স (আরআইপি) এ বাইন্ডিং মেকানিজমবেঁধে শব্দ আপনি একটি মত প্রকাশের মান করার জন্য একটি ভেরিয়েবলের মান বাঁধে এবং আপনি সব ঐ কুশ্রী লিসেনার সবটা boilerplate কোড পরিত্রাণ দেয়।

যদিও জাভাএফএক্স বেশ কয়েকটি উপায়ে ব্যর্থ হয়েছিল, আমি স্ক্রিপ্টিং ভাষার অনেকগুলি বৈশিষ্ট্য বেশ সুন্দর পেয়েছি।


1

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


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