gpt4 book ai didi

ruby - 了解 [ClassOne, ClassTwo].each(& :my_method)

转载 作者:数据小太阳 更新时间:2023-10-29 06:40:57 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What does map(&:name) mean in Ruby?

我在观看 railscast 时看到了这段代码。

[Category, Product].(&:delete_all)

关于清除数据库。

我在 IRC 中询问了线路,并被告知

(&:delete_all)

的捷径
{|model| model.delete_all}

我用下面的测试了这个

class ClassOne
def class_method
puts 1
end
end

class ClassTwo
def class_method
puts 2
end
end

[ClassOne, ClassTwo].each(&:class_method)

我收到一条错误消息

Wrong Argument type Symbol (expected Proc)

我也试过

one = ClassOne.new
two = ClassTwo.new

[one, two].each(&:class_method)

但还是失败了。

如果我修改为read

[one, two].each{|model| model.class_method}

一切都按预期进行。

那么,&:delete_all 实际上做了什么?文档说 delete_all 是一种方法,所以我对这里发生的事情感到困惑。

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