Хэрэглэгч:Sodkhuudalaikhuu/Нэргүй функц

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

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

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

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

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

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

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

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

lambda x: len(x)

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

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

  1. "Higher order functions". learnyouahaskell.com. Retrieved 3 December 2014.