本文介绍了ruby中tap方法的优点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚阅读了一篇博客文章,并注意到作者在如下片段中使用了 tap:

I was just reading a blog article and noticed that the author used tap in a snippet something like:

user = User.new.tap do |u|
  u.username = "foobar"
  u.save!
end

我的问题是使用 tap 到底有什么好处或优势?我不能做:

My question is what exactly is the benefit or advantage of using tap? Couldn't I just do:

user = User.new
user.username = "foobar"
user.save!

或者更好:

user = User.create! username: "foobar"

推荐答案

当读者遇到:

user = User.new
user.username = "foobar"
user.save!

他们必须遵循所有三行,然后才能认识到它只是在创建一个名为 user 的实例.

they would have to follow all the three lines and then recognize that it is just creating an instance named user.

如果是:

user = User.new.tap do |u|
  u.username = "foobar"
  u.save!
end

那么马上就清楚了.阅读器不必阅读块内的内容即可知道实例 user 已创建.

then that would be immediately clear. A reader would not have to read what is inside the block to know that an instance user is created.

这篇关于ruby中tap方法的优点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 04:23