Funkciók, mint az első osztályú (F #)

A meghatározó jellemzője a funkcionális programozási nyelvek, hogy javítsa a funkciókat az állam az első osztályban. A funkció segítségével végezze el a fenti lépéseket, mint az értékek más beépített típusú, hasonló mennyiségű erőfeszítést.

Az alábbiakban képviselő kérdéseket állapotának felméréséhez az első osztályban.

Csatolhatok az azonosítót az érték? Ha igen, akkor a nevét?

Lehetséges, hogy tárolja az értéket egy adatstruktúra, mint például egy listát?

Lehetséges, hogy adja át az érték érvként függvényhívás?

Tudok vissza értéket, mint az értéke a függvényhívás?

Az utolsó két kérdés az értékelés meghatározza az úgynevezett magasabb rendű működés, vagy magasabb rendű funkciókat. Magasabb rendű funkciókat veszi funkcionál érvek és visszaút funkcionál értéke a függvényhívás. Ezek a műveletek alapján a funkcionális programozás függvényében összehasonlításával és összekapcsolja funkciókat.

Ha a függvény az érték az első osztályú képesnek kell lennie arra, hogy nevezze el ugyanúgy, mint egész, húr, és más a beépített típusok. Az irodalomban a funkcionális programozás nevezik kötelező azonosítót az értéket. F # használ let kifejezést kötődni nevek értékek: legyen = . A következő kód azt mutatja, két példát.

Az érték az első osztályú tárolható adatok szerkezetét. Az alábbi példák a kód mutatja a tárolási értékeket listák és sorok.

Annak biztosítása érdekében, hogy a funkció tárolt név tuple valóban végrehajtja számítási funkciókat, a következő példa üzemeltetők FST és snd extrahálására használt az első és a második elem a tuple funAndArgTuple. Az első elem a tuple hívják squareIt. második - num. Id NUM az előző példában kötve van egy egész szám, 10, amely egy érvényes érv squareIt funkciót. A második expressziós tuple elem először alkalmazzák a második: squareIt num.

Kapcsolódó cikkek