Próbowałam zrozumieć, jak działają bloki Ruby, a do tego ja już próbuje je realizować w C.Ruby bloki/zamknięcia Java w C
Prostym sposobem wdrożenia zamknięć jest do przekazania a void*
do zamykającego stosu do zamknięcia/funkcji, ale bloki Ruby również obsługują zwroty i instrukcje break z zakresu, który używa bloku.
loop do
break i if (i >= 4000)
i *= 2
end
Myślę, że jedna z propozycji zamknięcia Java działa również w ten sposób.
A więc, w jaki sposób zaimplementowałbyś bloki Ruby/Java-closures w C?
"Jak więc zaimplementować bloki Ruby/Java-closures w C?" Przynajmniej do czasu wydania Java 7, nie ma czegoś takiego jak zamknięcia Java. –
Tak, właśnie dlatego wcześniej powiedziałem "propozycje zamknięcia dla Javy". –