Im Buch „Funktion Programmierung in Scala“, gibt es mehr Beispiel dafür, was „Nebenwirkungen“ ist, ist einer von ihnen:Warum "Lesen von einer Datei" ist keine reine Funktion?
- lesen oder in eine Datei
schreiben Ich kann verstehen, "in eine Datei schreiben" ist nicht rein, weil es die Umgebung verändert. Aber warum ist das Lesen einer Datei nicht rein? Es ändert nichts.
Siehe mein Beispiel:
val readFile: File => String = file => readingTheContentFromFile(file)
Haben Sie darüber nachgedacht, wie das Lesen nur eines Teils der Datei den "Lesezeiger" der Datei ändert oder ob Sie nur die gesamte Datei lesen und davon ausgehen, dass der Inhalt der Datei immer gleich ist (was zugegebenermaßen eine Strecke)? –
mögliches Duplikat von [Ist es eine reine Funktion, wenn es Daten von außerhalb statt von Parametern liest?] (Http://stackoverflow.com/questions/31376933/is-it-a-pure-function-if-it-reads -eine-Daten-von-außerhalb-lieber-als-Parameter) –