我有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)`
我的问题:如何将类名作为值传递。
答案 0 :(得分:0)
您需要删除扩展程序...
class_name = Object.const_get(file_name.capitalize[/^[^.]*/])