相关疑难解决方法(0)

重置IRB控制台

一个人如何去说再见所有的常量,对象和定义等等一个irb会话恢复到一个干净的石板?通过" in ",我的意思是不操纵子句.

ruby console

10
推荐指数
1
解决办法
6965
查看次数

Ruby - how to reload a file with changes in IRB or PRY?

I go into irb and require a file

irb> require_relative 'prime'
irb> true
Run Code Online (Sandbox Code Playgroud)

该文件包含以下代码:

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

在irb中需要文件,我可以使用该方法,例如

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

irb> is_prime? 11
irb> -> true
Run Code Online (Sandbox Code Playgroud)

但是,如果我修改源文件,请说add puts 'HHH',除非退出控制台并重新输入然后再require显示文件,否则它不会显示

如果我留在控制台中并再次要求该文件,我将得到错误的消息,因为该文件已被加载,并且无法获得新的更改

我试过了

irb> reload
Run Code Online (Sandbox Code Playgroud)

irb> reload!
Run Code Online (Sandbox Code Playgroud)

但他们给我

NoMethodError (undefined method `reload!' for main:Object)
Run Code Online (Sandbox Code Playgroud)

我也尝试过

irb> load 'prime.rb'
irb> => true
Run Code Online (Sandbox Code Playgroud)

但没有拿起零钱

使用PRY得出相似的结果

ruby irb pry

3
推荐指数
1
解决办法
280
查看次数

标签 统计

ruby ×2

console ×1

irb ×1

pry ×1