Có phải các biến cục bộ có thể thay đổi trong một hàm chỉ được sử dụng nội bộ, (ví dụ: hàm không có tác dụng phụ, ít nhất là không cố ý) vẫn được coi là "không có chức năng"?
ví dụ: trong kiểm tra kiểu khóa học "Lập trình chức năng với Scala" coi bất kỳ var
việc sử dụng nào là xấu
Câu hỏi của tôi, nếu chức năng không có tác dụng phụ, việc viết mã kiểu bắt buộc vẫn không được khuyến khích?
ví dụ, thay vì sử dụng đệ quy đuôi với mẫu tích lũy, có gì sai khi thực hiện một vòng lặp cục bộ và tạo một biến đổi cục bộListBuffer
và thêm vào nó, miễn là đầu vào không bị thay đổi?
Nếu câu trả lời là "có, họ luôn nản lòng, ngay cả khi không có tác dụng phụ" thì lý do là gì?
var
luôn luôn không có chức năng. Scala có vals lười biếng và tối ưu hóa đệ quy đuôi, cho phép tránh hoàn toàn vars.