Нэргүй функц

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

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

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

Ашиглал[засварлах | кодоор засварлах]

Сортлох[засварлах | кодоор засварлах]

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

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

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

lambda x: len(x)

Шүүр[засварлах | кодоор засварлах]

материал[засварлах | кодоор засварлах]

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