Skip to main content

Ano ang function ng first-class?

Ang function ng first-class ay isang term na maaaring mailapat sa computer programming at computer science sa isang computer programming language kung ang paggamot ng mga pag-andar ay sumunod sa isang hanay ng mga alituntunin, bagaman ang buong saklaw at lalim ng mga patnubay na ito ay hindi pormal na napagkasunduan.Upang magkaroon ng isang first-class function na computer programming language, ang pangunahing tampok na dapat suportahan ay ang kakayahang magpasa ng mga pag-andar bilang mga argumento sa iba pang mga pag-andar.Ang isang pag -andar ay dapat ding ma -itinalaga sa isang variable upang maiimbak ito.Ang iba pang mga pag-aari na ginamit upang matukoy kung ano ang bumubuo ng isang first-class function ay kasama ang kakayahang dinamikong makabuo ng isang function sa runtime at ang kakayahan ng wika upang magkaroon ng isang function bilang isang halaga ng pagbabalik ng isa pang pag-andar.Ang mga wika na sumusuporta sa first-class function na arkitektura ay nagbibigay-daan para sa isang mataas na antas ng abstraction at din, sa ilang mga pagkakataon, ay nagbibigay ng isang mekanismo para sa run-time na dynamic na henerasyon ng code.Ang pagpasa ng isang function sa loob ng isang programa sa pamamagitan ng mga variable ay hindi kinakailangang natatangi sa mga wika na katutubong nagpapatupad ng suporta sa function ng first-class.Ang kakayahang magpasa ng mga bloke ng code sa mga pag-andar, o upang ibalik ang non-dynamic code mula sa isang function, ay madaling magawa sa maraming mga wika sa programming sa pamamagitan ng iba't ibang mga mekanismo.Ang isa sa mga mahigpit na bahagi ng kahulugan ng isang wikang function ng first-class, gayunpaman, ay ang paghawak ng mga pag-andar bilang mga variable ay dapat gawin nang katutubong, nang walang paggamit ng metadata tulad ng kondisyon na tumutukoy at walang pagtawag ng isang tagatala upang mabawi ang isang piraso ngCode.Ang term function din ay ginagamit upang sumangguni sa mga independiyenteng mga bloke ng code na tinawag sa kanilang sarili, nangangahulugang hindi nila kasama ang mga bloke ng code na kilala bilang mga pamamaraan sa mga object oriented programming language o ang mga bloke kung minsan ay tinatawag na mga pamamaraan sa ibang wika.

Kapag ang isang wikaay dinisenyo upang payagan ang first-class function code, ang ilang mga pattern ng disenyo ay maaaring maipatupad nang mas direkta kaysa sa iba pang mga wika.Ang isang function ay maaaring makatanggap ng isang function bilang isang variable, at pagkatapos ay bumuo ng isang bagong pag-andar at ibalik ang bagong pag-andar sa calling code, kaya lumilikha ito ng isang mekanismo para sa run-time na paglikha ng code ng programa.Maaari rin itong gawin ang paggamit ng mga real-time na mga function na na-input ng gumagamit na posible sa loob ng wika nang walang paggamit ng mga proseso tulad ng pagmuni-muni o pagsusuri.Magagamit muli at ipatupad ang mga recursive matematika algorithm na magagawang self-modify ang kanilang mga equation habang sumusulong sila.Ang isang katulad, mas advanced na paggamit para sa mga mekanismo ng first-class ay ang pagpapatupad ng polymorphism sa mga wika kung saan hindi ito partikular na ipinatupad.Pinahihintulutan nito ang mga pag -andar na matawag na may parehong pirma ng pag -andar ngunit isagawa ang code batay sa konteksto kung saan tinawag ito, kung minsan sa pamamagitan ng pagpasa ng isang pangunahing pag -andar sa pag -andar ng polymorphic.