В Python оператор with
используется, чтобы удостовериться, что код очистки всегда вызывается, независимо от того, что выбраны исключения или вызовы функций. Например:
with open("temp.txt", "w") as f:
f.write("hi")
raise ValueError("spitespite")
Здесь файл закрыт, хотя исключение было создано. Лучшее объяснение здесь.
Есть ли эквивалент для этой конструкции в Ruby? Или вы можете закодировать один, поскольку Ruby имеет продолжения?