我目前正在考虑使用Scala脚本来控制MySQL数据库的生命周期,而不是使用MS-DOS脚本(我在Windows XP上)。
我希望有一个只保存配置信息的配置脚本,以及一个或多个使用配置信息执行各种操作的管理脚本,如启动,停止,显示状态等......
是否可以编写包含/ imports / references另一个Scala脚本的Scala脚本?
我查看了scala解释器的-i选项,但这会启动一个不是我想要的交互式会话。
答案 0 :(得分:4)
根据Scala man,脚本预加载仅适用于交互模式。
作为解决方法,您可以在运行脚本后退出交互模式。这是child.bat
的代码(包含另一个通用的脚本):
::#!
@echo off
call scala -i genetic.bat %0
goto :eof
::!#
def childFunc="child"
println(geneticFunc)
println(childFunc)
exit;
genericFunc
定义在genetic.bat
child.bat
的输出:
>child.bat
Loading genetic.bat...
...
geneticFunc: java.lang.String
Loading child.bat...
...
childFunc: java.lang.String
generic
child
答案 1 :(得分:3)
我使用Process并像其他任何命令一样调用其他Scala脚本。
答案 2 :(得分:1)
一个选项是创建一个脚本,将两个文件连接在一起,然后启动它,如:
@echo off
type config.scala > temp.scala
type code.scala >> temp.scala
scala temp.scala
del temp.scala
或类似的。然后你按照自己的意愿保持两个分开。