gpt4 book ai didi

ruby - Ruby 中的#tap 方法危险吗?

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

tap 方法如何并发工作?如果我这样做,我是否必须担心:

some_object.tap { |o|
# time-consuming operation 1
}.tap { |o|
# time-consuming operation 2
}

在现在或将来,Ruby 会尝试并发执行这些操作吗?你知道,#tap 听起来很危险。

是否保证 #tap block 按顺序执行(当然,除非有人在 block 内做了一些不寻常的事情)?

最佳答案

Tap 不是并发执行 block ,而是顺序执行。因此您不必担心并发问题,因为不存在并发问题。

这是tap的来源:

VALUE
rb_obj_tap(VALUE obj)
{
rb_yield(obj);
return obj;
}

因此您可以看到,它首先调用 block (yield),然后才返回原始对象。不存在并发。

关于ruby - Ruby 中的#tap 方法危险吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094237/

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