我用JRuby语言为UniVerse数据库上的任务开发了一个简单的领域特定语言。它看起来像这样
support = {
:host => 'localhost',
:account => 'SUPPORT'
}
uni_task support do
connect
exec "LIST FILE A1"
disconnect
end,并像这样实现
def uni_task(config, &block)
session = UniSession.new
session.instance_eval &block
end我知道你可以在像this这样的ruby脚本中使用irb
但是,有没有一种方法可以直接使用命令行并将作用域更改为在默认情况下执行对象的实例方法?
例如
irb> uni_commandline support
uni> connect
uni> exec "LIST FILE A1"
.... output .....
uni> disconnect发布于 2011-06-10 15:36:14
在irb中,您可以使用irb命令在对象范围内移动:
irb> irb some_object从那时起,任何命令都将在该对象的作用域内执行(因此您可以直接调用它的实例方法)。
https://stackoverflow.com/questions/6300977
复制相似问题