我有三个ruby文件,a.rb
,b.rb
和c.rb
如下:
要执行c.rb
我可以ruby a.rb
或ruby lib/lib/c.rb
。但我想区分这两种方法。所以在c.rb
我想知道程序的切入点。 (如果您熟悉节点,则它与require.main
相同。)
dir
-- a.rb
-- lib
-- b.rb
-- lib
-- c.rb
# a.rb
require 'lib/b'
# b.rb
require 'lib/c'
# c.rb
puts 'I am here'
答案 0 :(得分:4)
这样做的经典方法是使用__FILE__
和$0
:
if $0 == __FILE__
# code when this file is the entry point
end