在REPL或irb中重新使用Ruby DSL?

| 我为jruby中的UniVerse数据库上的任务开发了简单的DSL。看起来像这样
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
我知道您可以像这样在ruby脚本中加入irb 但是,有没有一种方法可以放置到命令行并更改范围以默认执行对象的实例方法? 例如
irb> uni_commandline support
uni> connect
uni> exec \"LIST FILE A1\"

     .... output .....

uni> disconnect
    
已邀请:
        在irb中,您可以使用
irb
命令在对象范围内移动:
irb> irb some_object
从那时起,任何命令都将在该对象的范围内执行(因此您可以直接调用其实例方法)。     

要回复问题请先登录注册