gpt4 book ai didi

ruby - 这个方法在ruby中如何使用自己的方法呢?

转载 作者:数据小太阳 更新时间:2023-10-29 08:18:59 27 4
gpt4 key购买 nike

我看到了这个关于斐波那契数列的例子,然后在 IRB 中测试了它。希望有人能为我分解它并向我展示它如何在正在定义的方法中使用相同的方法。

def fib(n)
return n if (0..1).include? n
fib(n-1) + fib(n-2) if n > 1
end

最佳答案

当您使用 def whatever(...) 定义一个方法时,您正在做两件事:创建一个方法,并将其分配给指定的方法槽。

当您在 Ruby 中调用一个方法时,它会在本地范围内查找该方法; fib 方法内部包含定义了 fib 的当前对象。因此,它会找到 fib当前定义并调用它。

我提到当前部分是因为如果 fib 方法在其内部的当前对象上重新定义 fib,将使用新定义,而不是旧定义。

也就是说:每次调用name时,它都会动态找到与name关联的代码。

关于ruby - 这个方法在ruby中如何使用自己的方法呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406344/

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