【发布时间】:2015-04-28 08:16:31
【问题描述】:
我正在使用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
错误:
所有的名字都是:rake aborted! NameError:未定义的局部变量 或 main:Object 的方法“人”
我希望这可以通过以某种方式传回一个对象来解决。我尝试访问c,但没有成功。有什么想法吗?
【问题讨论】:
-
代码不需要像在工作案例中那样成为
RubyProlog::Core实例的块吗?