Tôi đang học lập trình chức năng và đã cố gắng giải quyết một vài vấn đề theo kiểu chức năng. Một điều tôi gặp phải, trong khi phân chia vấn đề của mình thành các hàm, có vẻ như tôi có hai lựa chọn: sử dụng một số hàm khác nhau với các danh sách tham số tương tự, hoặc sử dụng các hàm lồng nhau, như các bao đóng, có thể chỉ đơn giản tham chiếu đến các ràng buộc trong hàm cha.Chức năng lồng nhau: Sử dụng các tác dụng phụ không đúng cách?
Mặc dù tôi đã kết thúc với cách tiếp cận thứ hai, vì nó thực hiện các cuộc gọi hàm nhỏ hơn và dường như "cảm thấy" tốt hơn, từ đọc sách của tôi có vẻ như tôi đang thiếu một trong những điểm chính của lập trình hàm, điều này có vẻ "tác dụng phụ"? Bây giờ được cấp, các hàm lồng nhau này không thể sửa đổi các ràng buộc bên ngoài, vì ngôn ngữ tôi đang sử dụng ngăn cản điều đó, nhưng nếu bạn nhìn vào từng hàm bên trong riêng lẻ, bạn không thể nói "cho cùng một tham số, hàm này sẽ trả về cùng một kết quả" bởi vì họ sử dụng các biến từ phạm vi phụ huynh ... tôi có đúng không?
Cách mong muốn để tiến hành là gì?
Cảm ơn!
facHelper không thực sự đề cập đến bất kỳ giá trị bên ngoài nào - nó vẫn hoàn toàn hoạt động. –