如何在ruby中将类名作为变量传递

我有由另一个文件创建的foo.rb和main.rb文件。

foo.rb:

class Foo def initialize @val = 1 end end 

main.rb的:

 file_name = gets.chomp() require_relative(file_name) class_name = file_name.capitalize a = class_name.new() p "This is val: #{a.val}" 

但是我得到一个错误: undefined method new’for“Foo.rb”:String(NoMethodError)`

我的问题:如何将类名作为值传递。

你需要删除扩展名……

 class_name = Object.const_get(file_name.capitalize[/^[^.]*/])