cuốn sách gpt4 ai đã làm

sự phản ánh - mối quan hệ giữa tham chiếu, cụ thể hóa và phản ánh

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 18:38:26 30 4
mua khóa gpt4 Nike

Gần đây tôi cảm thấy bối rối về các tài liệu tham khảo, sự cụ thể hóa và sự suy ngẫm. Ai đó có thể đưa ra lời giải thích hợp lý về mối quan hệ và sự khác biệt của họ (nếu có) không?

câu trả lời hay nhất

Trích dẫn

Đây có lẽ là cách đơn giản nhất. Hãy xem điều gì sẽ xảy ra khi bạn nhập nội dung sau vào REPL:

(+ a 1)

REPL là viết tắt của Read Eval Print Loop, vì vậy trước tiên nó sẽ đọc cái này. Đây là một danh sách nên sau khi đọc chúng ta có danh sách gồm 3 phần tử:

Bước tiếp theo là đánh giá. Đánh giá danh sách trong Common Lisp liên quan đến việc tìm hàm (hoặc macro) được liên kết với mục đầu tiên trong danh sách. Vì + được liên kết với một hàm chứ không phải macro nên nó sẽ đánh giá từng phần tử tiếp theo trong danh sách. Number sẽ tự đánh giá chính nó, trong khi "a" sẽ đánh giá bất cứ thứ gì nó bị ràng buộc. Các đối số hiện đã được đánh giá và hàm "+" sẽ được gọi kèm theo kết quả đánh giá.

Sau đó chúng tôi in kết quả và lặp lại bước đọc

Không sao, nhưng nếu chúng ta muốn thứ gì đó mà khi đánh giá sẽ kết thúc dưới dạng danh sách 3 phần tử chứa thì sao? Giải pháp cho vấn đề này là dấu ngoặc kép. Lisp thường có một dạng đặc biệt gọi là "tham chiếu" lấy một đối số và kết quả là đối số đó, không được đánh giá. Vì thế

(trích dẫn (+ a 1))

Danh sách sẽ được đánh giá. Như một số cú pháp, ' được coi giống như (trích dẫn), vì vậy chúng ta chỉ có thể viết '(+ a 1).

cụ thể hóa

Sự thống nhất hóa là một thuật ngữ chung có nghĩa đại khái là "làm cho một ý tưởng trừu tượng trở nên cụ thể". Cụ thể đối với lập trình, khi một cái gì đó được cụ thể hóa, điều đó đại khái có nghĩa là bạn có thể coi nó như dữ liệu (hoặc "đối tượng hạng nhất"). Một ví dụ trong lisp là các hàm, biểu thức lambda cho phép bạn tạo một đối tượng hạng nhất, cụ thể để thể hiện khái niệm trừu tượng của lệnh gọi hàm. Một ví dụ khác là lớp CLOS, bản thân nó là một đối tượng CLOS và thể hiện khái niệm trừu tượng của một lớp.

sự phản xạ

Theo một cách nào đó, sự phản ánh đối lập với sự vật chất hóa. Với một cái gì đó cụ thể, bạn cần một số thông tin về cách biểu diễn trừu tượng của nó. Hãy xem xét một đối tượng gói Common Lisp, là một sự cụ thể hóa của khái niệm gói và chỉ đơn giản là ánh xạ từ tên ký hiệu sang ký hiệu. Bạn có thể lấy thông tin này trong thời gian chạy bằng cách sử dụng các ký hiệu do để lặp lại tất cả các ký hiệu trong một gói.

Ngoài ra, hãy nhớ khi tôi nói lambdas là sự thống nhất của các hàm? Khi đó "biểu thức hàm-lambda" là sự phản ánh của hàm.

Giao thức siêu đối tượng (MOP) là một cách bán chuẩn để thực hiện các hoạt động khác nhau bằng cách sử dụng các lớp và đối tượng. Trong số những thứ khác, nó cho phép phản ánh về các lớp và đối tượng.

Về sự phản chiếu - mối quan hệ giữa tham chiếu, cụ thể hóa và phản ánh, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11649898/

30 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress