gpt4 book ai didi

ruby - 为什么使用过程而不是方法?

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

我是编程新手,而 ruby​​ 是我第一次真正接触它。我得到了 block ,但 procs 似乎是一个简单的方法/函数概念——为什么要使用它们?为什么不只使用一种方法?

感谢您的帮助。

最佳答案

Proc 是一段可调用的代码。您可以将它存储在一个变量中,作为参数传递,否则将其视为 first-class value。 .

Why not just use a method?

取决于你在这里所说的“方法”是什么意思。

class Foo
def bar
puts "hello"
end
end

f = Foo.new

在此代码片段中,bar 方法的使用非常有限。你可以调用它,就是这样。但是,如果您想存储对它的引用(以传递到其他地方并在那里调用它),您可以这样做:

f = Foo.new
bar_method = f.method(:bar)

这里的 bar_method 与 lambda 非常相似(类似于 Proc)。 bar_method 是一等公民,f.bar 不是。

有关详细信息,请阅读 the article @minitech 提到。

关于ruby - 为什么使用过程而不是方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761825/

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