sách gpt4 ăn đã đi

ruby - `var = something rescue nil` 行为

In lại 作者:数据小太阳 更新时间:2023-10-29 06:51:22 25 4
mua khóa gpt4 giày nike

在 Ruby 中,您可以在赋值结束时编写 rescue 以捕获可能出现的任何错误。我有一个函数(如下:a_function_that_may_fail),如果不满足某些条件,让它抛出错误很方便。以下代码运行良好

post = {}
# Other Hash stuff
post['Caption'] = a_function_that_may_fail rescue nil

但是,如果函数失败,我什至不希望设置 post['Caption']。

我知道我能做到:

bắt đầu
post['Caption'] = a_function_that_may_fail
rescue
kết thúc

但这感觉有点过分 - 有更简单的解决方案吗?

câu trả lời hay nhất

问题是优先级。最简单的解决方案:

(post['Caption'] = a_function_that_may_fail) rescue nil

不过,像这样改变优先级有点深奥。如果您可以重写您的 a_function_that_may_fail 以在失败时返回 không 可能会更好。

您还可以使用临时变量并测试是否为零:

caption = a_function_that_may_fail rescue nil
post['Caption'] = caption unless caption.nil?

一个非常小的区别是,如果 a_function_that_may_fail 没有引发异常但返回了 không,这不会设置 post['Caption'] .

关于ruby - `var = something rescue nil` 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621749/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress