Я использую ruby-prolog. Я хочу запустить задачу для запроса факта.Как получить доступ к членам другого класса в другом файле
demo.rb:
require 'ruby-prolog'
c = RubyProlog::Core.new
c.instance_eval do
person['name','brian'].fact
person['name','James'].fact
puts 'all the names are: '
p query(person['name', :A])
end
Это прекрасно работает. Теперь я хочу запустить запрос внутри Rake. Это проблема, потому что я не знаю, как получить доступ к person[]
из другого файла.
Rakefile.rb:
require_relative 'demo.rb'
task :test do |variable|
puts 'all the names are: '
p query(person['name', :A])
end
Ошибка:
all the names are: rake aborted! NameError: undefined local variable or method `person' for main:Object
Я надеюсь, что это может быть решена путем передачи объекта обратно каким-то образом. Я попытался получить доступ к c
, но это не сработало. Есть идеи?
ли не код должен быть блок для RubyProlog :: Core' экземпляр 'как это в рабочем случае? – lurker