我可以从ruby调用tcl进程吗?

我可以从ruby调用tcl进程吗?,ruby,tcl,Ruby,Tcl,我想直接或使用bash命令从ruby调用现有的tcl proc,并将结果返回到ruby变量。有没有可靠的方法可以做到这一点?当然可以: tcl_file = "./file.tcl" tcl_code = "source #{tcl_file}; name_of_proc_to_call" result = IO.popen("tclsh", "r+") {|p| p.puts tcl_code p.close_write p.read } 我将使用一个简单的运行程序脚本,并将真

我想直接或使用bash命令从ruby调用现有的tcl proc,并将结果返回到ruby变量。有没有可靠的方法可以做到这一点?

当然可以:

tcl_file = "./file.tcl"
tcl_code = "source #{tcl_file}; name_of_proc_to_call"
result = IO.popen("tclsh", "r+") {|p| 
  p.puts tcl_code
  p.close_write
  p.read
}

我将使用一个简单的运行程序脚本,并将真实的文件名和过程名作为参数传递,因为即使使用最奇怪的文件名和过程名,这也可以工作。假设Ruby不强制shell参数引用出现问题…