gpt4 book ai didi

ruby - 相当于 Perl 在 Ruby 中的 END block

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:53 27 4
gpt4 key购买 nike

Ruby 中有 Perl 等效的 END block 吗?在 Perl 中,如果我指定一个 END block ,那么无论程序在何处跳出,该 block 中的代码都会被执行。它是关闭打开的文件句柄的强大功能。 Ruby 是否支持类似的功能?我尝试了 Ruby 的“END{}” block ,但如果我由于错误在代码中退出,似乎不会被调用。

谢谢!

最佳答案

使用at_exit ,无论是否引发异常都会运行:

at_exit { puts 'exited!' }
raise

按预期打印“exited”。

只有在不能使用 ensure 时才应考虑这一点,因为 at_exit 会导致逻辑远离实际退出发生的位置。

关于ruby - 相当于 Perl 在 Ruby 中的 END block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com