Trong sách "lập trình hàm trong Scala", nó mang lại cho một vài ví dụ về "tác dụng phụ", một trong số họ là những gì:Tại sao "đọc từ một tệp" không phải là chức năng thuần túy?
- Đọc từ hoặc văn bản cho một tập tin
Tôi có thể hiểu "viết vào một tập tin" không phải là tinh khiết, bởi vì nó thay đổi môi trường. Nhưng tại sao "đọc một tập tin" không phải là tinh khiết? Nó không thay đổi gì cả.
Xem ví dụ của tôi:
val readFile: File => String = file => readingTheContentFromFile(file)
Bạn đã xem xét cách đọc chỉ một phần của tệp thay đổi "con trỏ đọc" của tệp hay bạn chỉ quan tâm đến việc đọc toàn bộ tệp và giả sử nội dung của tệp luôn giống nhau (nghĩa là, phải thừa nhận rằng, Một Quãng)? –
có thể trùng lặp của [Có phải chức năng thuần túy nếu nó đọc một số dữ liệu từ bên ngoài thay vì tham số?] (Http://stackoverflow.com/questions/31376933/is-it-a-pure-function-if-it-reads -Một số-dữ liệu-từ-bên ngoài-thay-hơn-tham số) –