当前位置:  开发笔记 > 后端 > 正文

如何取消评估所需的Ruby文件?

如何解决《如何取消评估所需的Ruby文件?》经验,为你挑选了1个好方法。

file1 需要file2,我希望能够file2在某些条件下取消评估而不退出整个过程.

# file1.rb
  puts "In file 1"
  require 'file2'
  puts "Back in file 1"

# file2.rb
  puts "In file 2"
  # return if some_conditional
  puts "Still in file 2"

运行时file1,我想看到的输出是:

In file 1
In file 2
Back in file 1

目标是Still in file 2永不打印,同时Back in file 1打印.我能做些什么才能做到file2这一点?

我无法使用exit/ exit!/ abort这里,因为Back in file 1永远不会打印.我可以使用raise/ fail,但为了做到这一点,我将不得不改变file1rescue失败require.我希望找到一种不涉及改变的方法file1.

更新:

A"顶级回报"的功能已经被添加.



1> steenslag..:

以下行__END__ 不会被执行.

# file2.rb
puts "In file 2" 
__END__
puts "Still in file 2" # Never gets called

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有