Sisällysluettelo:
Määritelmä - Mitä viiteläpinäkyvyys tarkoittaa?
Referenssin läpinäkyvyys on ohjelman tietyn osan tai ohjelmointikielen ominaisuus, etenkin toiminnallisten ohjelmointikieleiden, kuten Haskell ja R. Ohjelman lausekkeen sanotaan olevan referenssisuosittain läpinäkyvä, jos se voidaan korvata arvollaan ja siitä johtuva käyttäytyminen on sama kuin ennen muutosta. Tämä tarkoittaa, että ohjelman toiminta ei muutu riippumatta siitä, onko käytetty syöte referenssi vai todellinen arvo, johon viite osoittaa.
Techopedia selittää viittausläpinäkyvyyttä
Referenssisen läpinäkyvyyden juuret ovat analyyttisessä filosofiassa, joka on filosofian haara, joka tutkii luonnollisen kielen rakenteita, väitteitä ja lausuntoja matematiikan ja logiikan menetelmien perusteella ja jolla on vähän tekemistä ohjelmoinnin kanssa, vaikka tietotekniikan tutkijat ovatkin hyväksyneet sen.
Käsite on yksinkertainen, "viite", asia, johon lausekkeessa viitataan, voidaan korvata "viittaus" muuttamatta lausekkeen tarkoitusta. Esimerkiksi lausunto "Luken isä on paha ihminen", "Luken isä" viittaa "Darth Vaderiin" Tähtien sota -opiskelussa. Joten lausunto on viitteellisesti läpinäkyvä, koska "Luken isä" voidaan korvata milloin tahansa "Darth Vaderilla" ja lausunnon merkitys ei muutu. Lausunnossa "yleisö ei tiennyt ennen kuin" Imperiumi iskee takaisin ", että Luken isä on tosiasiassa Darth Vader" ei kuitenkaan ole viitteellisesti läpinäkyvä ilmaus, koska jos "Luken isä" korvataan "Darth Vaderilla", ilmaisusta tulee " Yleisö tiesi vasta "Imperiumi iskee takaisin", että Darth Vader on oikeastaan Darth Vader ", jolla on aivan toinen merkitys.
Ohjelmoinnin suhteen käsite on ensi silmäyksellä sama, mutta monet filosofit ovat eri mieltä siitä, että konsepti toteutetaan tai siirretään hyvin ohjelmointikielellä. Mutta yleisessä ohjelmoinnissa tämä tarkoittaa yksinkertaisesti, että lauseke voidaan korvata sen tuloksena olevalla arvolla ilman, että sillä on vaikutusta ohjelman käyttäytymiseen. Esimerkiksi funktio plusOne (x) yksinkertaisesti lisää yhden mihin tahansa x: n arvoon, joten jos tiedämme, että x = 5, voimme turvallisesti korvata funktion arvolla 6 lausekkeessa, joka tuottaa saman toiminnan käyttäessäsi plusOne: ta (x). Mutta jos lausekkeessa on ulkoinen muuttuja, jota hallitaan ulkoisesti, sanotaan funktiossa plusY (x), jossa funktion Y-arvoa ohjataan ulkoisesti, seurauksena oleva käyttäytyminen ei välttämättä ole sama - tässä tapauksessa tämä ei ole viitearvoisesti läpinäkyvä ilmaisu.
