gpt4 book ai didi

Ruby - 如何使用 IRB 或 PRY 中的更改重新加载文件?

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

我进入 irb 并需要一个文件

irb> require_relative 'prime'
irb> true

此文件包含以下代码:

def is_prime? num
(2..num-1).each do |div_by|
if num % div_by == 0
return false
end
end
true
end

要求 irb 中的文件有效,我可以使用该方法,例如

irb> require_relative 'prime'
irb> is_prime? 10
irb> -> false

irb> is_prime? 11
irb> -> true

但是,如果我修改源文件,比如添加 puts 'HHH',那不会显示,除非我退出控制台并重新进入,然后 require文件

如果我留在控制台中并再次需要该文件,我会得到 false,因为它已经加载并且我没有得到新的更改

我试过了

irb> reload

irb> reload!

但他们给了我

NoMethodError (undefined method `reload!' for main:Object)

我也试过了

irb> load 'prime.rb'
irb> => true

但没有捡到零钱

使用 PRY 得到类似的结果

最佳答案

尝试 Kernel#load与 rb 文件的相对路径:

irb> load './path/to/prime.rb'

Kernel#require只加载一次源文件,而 Kernel#load每次调用时加载它。

引用 https://stackoverflow.com/a/4633535/4950680

关于Ruby - 如何使用 IRB 或 PRY 中的更改重新加载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56112714/

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