Tôi đã cố gắng hiểu cách khối Ruby hoạt động, và để làm điều đó tôi đã cố gắng thực hiện chúng trong C.Các khối Ruby/đóng cửa Java trong C
Một cách dễ dàng để thực hiện đóng cửa là vượt qua a void*
với ngăn xếp kèm theo để đóng/chức năng nhưng các khối Ruby cũng có vẻ xử lý các trả về và các câu lệnh ngắt từ phạm vi sử dụng khối.
loop do
break i if (i >= 4000)
i *= 2
end
Tôi nghĩ rằng một trong các đề xuất đóng cho Java cũng hoạt động như thế này.
Vì vậy, làm cách nào bạn triển khai Ruby-block/Java-closures trong C?
"Vì vậy, làm thế nào bạn sẽ thực hiện Ruby-block/Java-đóng cửa trong C?" Ít nhất cho đến khi Java 7 được phát hành, không có thứ gì như đóng Java. –
Yea, đó là lý do tại sao tôi nói "đóng cửa các đề xuất cho Java" ngay trước đó. –