2010-09-21 22 views
5

Trong Structure and Interpretation of Computer Programs part 3.2, "môi trường" được định nghĩa là "một chuỗi các khung". Nhưng theo như tôi thấy, cuốn sách không thảo luận thêm về sự khác biệt giữa môi trường và khung. Ngoài ra, tôi nghi ngờ các bản vẽ của môi trường conflates chúng với khung bởi vì bản vẽ sách là nhỏ và 2-D, và không dễ dàng hiển thị thời gian tiến hóa ngắn của một bản vẽ đầy đủ.Trong SICP 3.2, Mô hình đánh giá môi trường, là một môi trường ban đầu giống như khung đầu tiên của nó?

Vì vậy, sẽ đúng khi nghĩ về môi trường khi tạo giống như khung đầu tiên? Và sau đó khi bất kỳ thay đổi nào xảy ra trong môi trường (một ràng buộc mở rộng thay đổi, một ràng buộc mới được tạo ra), môi trường sẽ thêm một khung mới vào chuỗi khung của nó? Nếu hiểu biết đó KHÔNG đúng, thì sự khác biệt chính xác giữa môi trường và khung là gì?

Cảm ơn bạn đã giúp đỡ!

Trả lời

2

Chuỗi các khung là danh sách được liên kết (của các khung) trỏ lên 'hướng lên' đối với môi trường toàn cầu. Vì vậy, khi một môi trường được tạo ra (ví dụ, trong bối cảnh của một thủ tục ràng buộc), 'môi trường' là một con trỏ đến khung ... mà trong thuật ngữ trỏ đến môi trường kèm theo (hoặc null, nếu môi trường toàn cục).

Vì vậy ... đủ điều kiện 'có' ... đó là khung đầu tiên theo nghĩa là phần còn lại của môi trường có thể truy cập từ khung đầu tiên đó.

Điều đó có hữu ích không?

Trân trọng, Đắk

+0

Điều đó giúp, cảm ơn - vì vậy cuối cùng, môi trường là một con trỏ tới một chuỗi các khung hình và ban đầu, chuỗi đó chỉ có một khung. Nhưng thế thì về môi trường toàn cầu thì sao? Có lẽ nó tiếp tục trong cuốn sách, nhưng nếu env toàn cầu cũng chỉ là một con trỏ đến một chuỗi các khung, đâu là "thủ tục toàn cầu" trỏ đến chuỗi toàn cầu của khung? Điều này giống như tiến thoái lưỡng nan nguyên nhân đầu tiên ... :) – limist

0

Tôi nghĩ môi trường ban đầu là một chuỗi có độ dài 1, chỉ với khung hình đầu tiên.

2

Rất nhiều lần, người ta sử dụng "môi trường" và "khung" thay thế cho nhau. Cá nhân, tôi đã luôn luôn cố gắng để giữ chúng riêng biệt. Tôi sử dụng khung để có nghĩa là một ngăn xếp cụ thể và một môi trường là tất cả các khung.

Các vấn đề liên quan