Нэргүй функц

Чөлөөт нэвтэрхий толь — Википедиагаас
Jump to navigation Jump to search

Компьютерын програмчлалд нэргүй функц (шууд функц, лямбда хийсвэрлэл, эсвэл лямбда илэрхийлэл) гэдэг бол ямар нэг таних тэмдэгт баригдаагүй функцийн тодорхойлол юм. Нэргүй функц нь ихэвчлэн:[1]

  1. дээд эрэмбийн функцүүд рүү дамжуулах аргумент байдлаар байна
  2. ямар нэг функц буцаах шаардлагатай байгаа дээд эрэмбийн функцүүдийн үр дүнг байгуулахад ашиглагдана

Синтактикийн хувьд хэрэв функц нь зөвхөн нэг буюу цөөн удаа ашиглагдах бол нэргүй функцийг ашиглах нь илүү хөнгөн байх боломжтой. Нэргүй функцийг функцийн програмчлалын хэлнүүд болон нэгдүгээр ангиллын функцүүдтэй бусад хэлд өргөнөөр ашигладаг.

Ашиглал[засварлах | edit source]

Сортлох[засварлах | edit source]

Стандарт бус аргаар сортлох үед сортлох логикт зориулж нэртэй функц бүтээснээс нэргүй функц байдлаар ашиглах нь илүү хялбар байх боломжтой. Ихэнх хэлд арбитрари объектуудыг сортлох зориулалтай алгоритмыг хэрэгжүүлсэн ерөнхий сортлох функц байдаг. Энэ функц нь ихэвчлэн хоёр элемент тэнцүү буюу нэг нь нөгөөгөөсөө их буюу бага байгааг хэрхэн харьцуулахыг тодорхойлдог арбитрари функцүүдийг хүлээн зөвшөөрдөг.

Тэмдэгт мөрийн жагсаалтыг тэмдэгт мөр тус бүрийн уртаар сортлох:

Дээрх жишээнд буй нэргүй функц бол лямбда илэрхийлэл юм:

lambda x: len(x)

Шүүр[засварлах | edit source]

материал[засварлах | edit source]

  1. Higher order functions. learnyouahaskell.com. 3 December 2014-д хандсан.