ازگر میں نقشہ ، فلٹر اور افعال کو کم کریں: آپ سب کو جاننے کی ضرورت ہے



یہ جانیں کہ ازگر میں نقشہ () ، فلٹر () اور () افعال کو کم کریں۔ یہ بھی جانتے ہیں کہ انہیں لامبڈا اور صارف کی وضاحت کردہ افعال کے ساتھ اور ایک دوسرے کے ساتھ استعمال کرنے کا طریقہ۔

ازگر بہت سے بلٹ ان فنکشنز مہیا کرتا ہے جو پہلے سے طے شدہ ہیں اور اختتامی صارف ان کو صرف بلا کر استعمال کرسکتے ہیں۔ یہ افعال نہ صرف پروگرامرز کے کام کو آسان کرتے ہیں بلکہ ایک معیاری کوڈنگ کا ماحول بھی بناتے ہیں۔ اس مضمون میں ، آپ اس طرح کے تین متاثر کن افعال کے بارے میں سیکھ رہے ہوں گے یعنی نقشہ () ، فلٹر اور () کو کم کریں .

آگے بڑھنے سے پہلے آئیے ، مندرجات پر ایک نظر ڈالیں:





تو آئیے شروع کرتے ہیں۔ :)

ازگر میں نقشہ () ، فلٹر () اور () افعال کو کیا کہتے ہیں؟

جیسا کہ پہلے بتایا گیا ہے ، نقشہ () ، فلٹر () اور کم () ان بلٹ ہیں ازگر کے. ان افعال کے فنکشنل پروگرامنگ کے پہلو کو قابل بناتا ہے . فنکشنل پروگرامنگ میں ، پاس کردہ دلائل صرف وہ عوامل ہیں جو آؤٹ پٹ کا فیصلہ کرتے ہیں۔ یہ افعال پیرامیٹر کے طور پر کسی بھی دوسرے کام کو لے سکتے ہیں اور پیرامیٹرز کے ساتھ ساتھ دوسرے کاموں میں بھی فراہم کیا جاسکتا ہے۔ تو آئیے ، اب ہم ان میں سے ہر ایک کام پر گہری نگاہ ڈالتے ہیں۔



نقشہ () فنکشن:

نقشہ () فنکشن اعلی قسم کی ترتیب کی ایک قسم ہے۔ جیسا کہ پہلے ذکر کیا گیا ہے ، یہ فنکشن پیرا میٹر کی حیثیت سے ایک اور فنکشن کو دوبارہ لے جانے والے سلسلے کے تسلسل کے ساتھ لے جاتا ہے اور اس ترتیب کو تسلسل میں موجود ہر تکراری موجود پر اس فنکشن کو لاگو کرنے کے بعد آؤٹ پٹ واپس کرتا ہے۔ اس کا نحو درج ذیل ہے۔

سنٹیکس:

نقشہ (تقریب ، تکراری)



یہاں ، فنکشن ایک اظہار کی وضاحت کرتا ہے جو بدلے میں تکراریوں پر لاگو ہوتا ہے۔ نقشہ کی تقریب صارف کی وضاحت شدہ افعال بھی لے سکتی ہے لیمبڈا افعال ایک پیرامیٹر کے طور پر

صارف کی وضاحت اور لامبڈا افعال کا استعمال اس کے اندر:

نقشہ () میں صارف کی وضاحت کردہ افعال:

نقشہ () فنکشن پیرامیٹرز کے بطور صارف کے بیان کردہ افعال کو لے سکتا ہے۔ ان افعال کے پیرامیٹرز خصوصی طور پر صارف یا پروگرامر کے ذریعہ مرتب کیے گئے ہیں۔ مثال کے طور پر:

مثال:

Def newfunc (a): a * a x = map (newfunc، (1،2،3،4)) واپس کرو #x نقشہ آبجیکٹ پرنٹ (x) پرنٹ (سیٹ (x)) ہے

آؤٹ پٹ:

{16 ، 1 ، 4 ، 9}

جیسا کہ آپ دیکھ سکتے ہیں ، x ایک نقشہ آبجیکٹ ہے۔ اگلے حصے میں آؤٹ پٹ نئے پیر کو () کو اس کے پیرامیٹر کے طور پر لے جانے والے نقشے کی فنکشن کو دکھاتا ہے اور پھر اس میں A * a کا استعمال تمام تکراری ہونے والے لوگوں پر ہوتا ہے۔ نتیجے کے طور پر ، تمام تکراری والے کی اقدار خود سے کئی گنا بڑھ جاتی ہیں اور واپس ہوجاتی ہیں۔

نوٹ: آؤٹ پٹ آٹیربل کی قدر کے مطابق نہیں ہے کیونکہ میں نے سیٹ () فنکشن استعمال کیا ہے۔ مثال کے طور پر آپ لسٹ () یا ٹپل () فنکشن بھی استعمال کرسکتے ہیں۔

مثال:

Def newfunc (a): a * a x = map (newfunc، (1،2،3،4)) واپس کرو #x نقشہ آبجیکٹ پرنٹ (x) پرنٹ (لسٹ (x)) ہے

آؤٹ پٹ:

[1 ، 4 ، 9 ، 16]

آپ پیرامیٹرز کی ایک سے زیادہ فہرستوں کو بھی پاس کرسکتے ہیں۔ مثال کے طور پر:

مثال:

ڈیف فنک (ا ، بی): ایک + ب a = نقشہ (فنک ، [2 ، 4 ، 5] ، [1،2،3]) پرنٹ (ا) پرنٹ (ٹپل (ا)) واپس کریں

آؤٹ پٹ:

(3 ، 6 ، 8)

ترجیحی قطار c ++ کو نافذ کریں

اب ہم دیکھتے ہیں کہ آپ کس طرح استعمال کرسکتے ہیں لیمبڈا افعال نقشہ () تقریب کے اندر اندر۔

نقشہ کے اندر لیمبڈا افعال ():

لامبڈا افعال ایسے افعال ہیں جن کا کوئی نام نہیں ہے۔ یہ افعال اکثر دوسرے افعال میں پیرامیٹرز کے طور پر فراہم کیے جاتے ہیں۔ اب ہم نقشہ () فنکشن کے اندر لیمبڈا افعال کو سرایت کرنے کی کوشش کریں۔ مندرجہ ذیل مثال پر غور کریں:

جاوا میں اتلی کاپی اور گہری کاپی

مثال:

ٹیپ = (5 ، 7 ، 22 ، 97 ، 54 ، 62 ، 77 ، 23 ، 73 ، 61) نیوٹپل = ٹپل (نقشہ (لیمبڈا x: x + 3 ، ٹیپ)) پرنٹ (نیا ٹپل)

آؤٹ پٹ:

(8 ، 10 ، 25 ، 100 ، 57 ، 65 ، 80 ، 26 ، 76 ، 64)

مندرجہ بالا آؤٹ پٹ اس ٹیوپل میں موجود ہر آئٹم پر لیمبڈا ایکسپریشن (x + 3) لگانے کا نتیجہ ہے۔

فلٹر () فنکشن:

فلٹر () فنکشن ایک ایسی آؤٹ پٹ لسٹ بنانے کے لئے استعمال کیا جاتا ہے جس میں اقدار شامل ہوں جس کے لئے یہ فنکشن درست ہوتا ہے۔ اس کی ترکیب حسب ذیل ہے۔

سنٹیکس:

فلٹر (تقریب ، تکراری)

نقشہ () کی طرح ، اس فنکشن کو استعمال کیا جاسکتا ہے صارف کے بیان کردہ افعال کے ساتھ ساتھ پیرامیٹر کے طور پر لیمبڈا افعال بھی لے سکتا ہے۔

مثال:

Def فنک (x): اگر x> = 3: واپسی x y = فلٹر (فنک ، (1،2،3،4)) پرنٹ (y) پرنٹ (فہرست (y))

آؤٹ پٹ:

[3.4]

جیسا کہ آپ دیکھ سکتے ہیں ، y فلٹر آبجیکٹ ہے اور وہ فہرست اقدار کی ایک فہرست ہے جو حالت کے لئے درست ہیں (x> = 3)۔

فلٹر کے اندر لامبڈا کا استعمال ():


لیمبڈا فنکشن جو پیرامیٹر کے طور پر استعمال ہوتا ہے دراصل اس حالت کی وضاحت کرتا ہے جس کی جانچ پڑتال کی جائے۔ مثال کے طور پر:

مثال:

y = فلٹر (لیمبڈا x: (x> = 3)، (1،2،3،4)) پرنٹ (فہرست (y))

آؤٹ پٹ: [3.4]

مذکورہ کوڈ پچھلے فنکشن کی طرح ایک ہی پیداوار پیدا کرتا ہے۔

کم () فنکشن:

کم () فنکشن ، جیسا کہ نام بیان کرتا ہے ، ایک دیئے گئے فنکشن کو تکراریوں پر لاگو کرتا ہے اور ایک ہی ویلیو واپس کرتا ہے۔

کم نقشہ فلٹر-ایڈیورکا کو کم کریں

اس فنکشن کا ترکیب مندرجہ ذیل ہے۔

سنٹیکس:

کم کریں (تقریب ، تکراری)

یہاں کی تقریب وضاحت کرتی ہے کہ تکراریوں پر کس اظہار کی ضرورت ہے۔ اس فنکشن کو فنکٹولز سے درآمد کرنے کی ضرورت ہے ماڈیول . مثال کے طور پر:

مثال:

فنکٹولس امپورٹ سے کمی کو کم کریں (لیمبڈا اے ، بی: ا + بی ، [23،21،45،98])

آؤٹ پٹ: 187

مندرجہ بالا مثال کے طور پر ، کم فنکشن لسٹ میں ہر تکرار موجود کو مستقل طور پر شامل کرتا ہے اور ایک آؤٹ پٹ کو لوٹاتا ہے۔

ازگر میں نقشہ () ، فلٹر () اور کم () افعال کو ایک دوسرے کے ساتھ استعمال کیا جاسکتا ہے۔

ایک دوسرے کے ساتھ نقشہ () ، فلٹر () اور () افعال کو کم کرکے استعمال کریں:

جب آپ یہ کرتے ہیں تو ، اندرونی افعال پہلے حل ہوجاتے ہیں اور پھر بیرونی افعال اندرونی افعال کے آؤٹ پٹ پر چلتے ہیں۔

آئیے پہلے فلٹر () فنکشن کو پیرامیٹر کے طور پر میپ () فنکشن میں منتقل کرنے کی کوشش کریں۔

نقشہ () کے اندر فلٹر () استعمال کرنا:

پہلے دیئے گئے کوڈ نے اس حالت (x> = 3) کی تکرار کرنے والوں کے لئے صحیح ہونے کی جانچ پڑتال کی۔ اس کے بعد ، نقشہ () فنکشن کا استعمال کرتے ہوئے آؤٹ پٹ میپ کیا جاتا ہے۔

مثال:

c = نقشہ (لیمبڈا x: x + x ، فلٹر (لامبڈا x: (x> = 3)) ، (1،2،3،4)) پرنٹ (فہرست (c))

آؤٹ پٹ: [6 ، 8]

اگر آپ دیئے گئے ٹیوپل سے 3 سے زیادہ یا اس کے مساوی فلٹر آؤٹ کرتے ہیں تو ، آپ کو نتیجہ کے طور پر [3،4] ملیں گے۔ پھر اگر آپ (x + x) حالت کا استعمال کرکے اس کا نقشہ بناتے ہیں تو ، آپ کو [6،8] ملیں گے ، جو نتیجہ ہے۔

فلٹر () میں نقشہ () استعمال کرنا:


جب آپ فلٹر () فنکشن کے اندر نقشہ () فنکشن کا استعمال کرتے ہیں تو ، سب سے پہلے میٹ فنکشن کے ذریعہ ریبلبلز کو آپریٹ کیا جاتا ہے اور پھر ان پر فلٹر () کی حالت لاگو ہوتی ہے۔

مثال:

c = فلٹر (لیمبڈا x: (x> = 3)، نقشہ (لیمبڈا x: x + x، (1،2،3،4))) # لیمبڈا x: (x> = 3) پرنٹ (فہرست (c)) )

آؤٹ پٹ: [4 ، 6 ، 8]

جاوا میں بائنری تلاش پروگرام

(() اور فلٹر () کو کم () کے اندر استعمال کریں۔

اندرونی افعال کی پیداوار کم () فنکشن کو فراہم کی جانے والی حالت کے مطابق کم ہوجاتی ہے۔

مثال:

d = کم کریں (لیمبڈا x ، y: x + y ، نقشہ (لیمبڈا x: x + x ، فلٹر (لیمبڈا x: (x> = 3)) ، (1،2،3،4))) پرنٹ (د)

آؤٹ پٹ: 14

آؤٹ پٹ [6،8] کا نتیجہ ہے جو اندرونی نقشہ () اور فلٹر () افعال کا نتیجہ ہے۔

اس کے ساتھ ، ہم نقشہ () ، فلٹر () پر اس مضمون کے آخر میں پہنچ چکے ہیں اور ازگر میں افعال کو کم کرتے ہیں۔ مجھے امید ہے کہ آپ سب کچھ واضح طور پر سمجھ چکے ہوں گے یقینی بنائیں کہ آپ زیادہ سے زیادہ مشق کریں اور اپنے تجربے کو پلٹائیں۔

ہمارے لئے ایک سوال ہے؟ براہ کرم اس 'نقشہ () ، فلٹر () اور () ازگر میں افعال کو کم کریں' بلاگ کے تبصرے سیکشن میں اس کا ذکر کریں اور ہم جلد از جلد آپ کے پاس واپس آجائیں گے۔

اس کی مختلف ایپلیکیشنز کے ساتھ ازگر میں گہرائی سے آگاہی حاصل کرنے کے ل you ، آپ براہ راست داخلہ لے سکتے ہیں 24/7 کی حمایت اور زندگی بھر تک رسائی کے ساتھ۔