Tôi sẽ không giải thích nhiều khi tôi đi, để lại phần lớn cho đến cuối cùng.
Tôi đang cố gắng để xem cách ném bản đồ trong bối cảnh chìm.
Thêm --> Nil
làm giá trị trả về của khối sẽ làm điều đó:
(1..3).map: -> $_ --> Nil { Sunk.new( :titanic($_) ) }
Các for
vòng lặp một cách hiệu quả chìm tất cả các tạo ra, map
thì không.
Theo mặc định, các khối chạy với:
Tất cả các tuyên bố nhưng cuối cùng trong bối cảnh chìm.
Tuyên bố cuối cùng không trong bối cảnh chìm. (Câu lệnh cuối cùng là giá trị trả về của khối nên được cho là không phù hợp để ném nó xuống bồn rửa.)
Mã của bạn đã không thay đổi mặc định này cho map
cuộc gọi của bạn để câu lệnh cuối cùng của khối - câu lệnh duy nhất - không nằm trong ngữ cảnh chìm. (Thêm --> Nil
vào chữ ký của khối sẽ đưa câu lệnh cuối cùng trở lại trong bối cảnh chìm.)
Các ngoại lệ cho lược đồ mặc định này liên quan đến một số loại từ khóa câu lệnh. for
là một trong những điều này - nó đặt câu lệnh của nó, hoặc câu lệnh cuối cùng trong khối của nó, trong bối cảnh chìm. (Để hoàn tác điều đó, để câu lệnh cuối cùng không nằm trong ngữ cảnh chìm, bạn có thể viết một cái gì đó như $ = do for ...
.)
Thử nghiệm này trong rang được cho là hoạt động như một thử nghiệm cho điều đó. Và map
có hiệu quả trong bối cảnh chìm, nhưng tôi không thấy nó "chạy như chìm". Nó chỉ đơn giản là chạy.
Tôi bối rối bởi vé tương ứng và bài kiểm tra. Vì vậy, xin lỗi, tôi không thể giúp đỡ về điều đó.
Tôi đã làm hàng giờ nghiên cứu để chuẩn bị câu trả lời này. Một số tác phẩm tôi tìm thấy và dựa vào đó để làm theo, cùng với những ghi chú ngắn gọn của tôi.
Nhiều liên kết sau đây đi đến các dòng nhật ký IRC cụ thể. Mục đích của tôi đối với hầu hết những người đó là bạn đọc một ít hộp thoại theo sau mỗi dòng để tối đa hóa những gì bạn nhận được từ nó (ngay cả khi đó là sự nhầm lẫn, bởi vì tôi nghĩ thậm chí điều đó có thể hữu ích, như tôi sẽ giải thích tiếp theo).
Vui lòng xem xét việc đọc ít nhất các bản tóm tắt dưới đây và nhấp vào một số liên kết, sau đó đăng bình luận dưới câu trả lời này để kích thích thảo luận thêm ở đây để xem liệu chúng ta có thể tiến tới sự rõ ràng hay không.