In Scala, is it possible to write a script which refers to another script

匿名 (未验证) 提交于 2019-12-03 03:03:02

问题:

I am currently looking at using Scala scripts to control the life-cycle of a MySQL database instead of using MS-DOS scripts (I am on Windows XP).

I want to have a configuration script which only holds configuration information, and 1 or more management scripts which use the configuration information to perform various operations such as start, stop, show status, etc .....

Is it possible to write a Scala script which includes/imports/references another Scala script?

I had a look at the -i option of the scala interpreter, but this launches an interactive session which is not what I want.

回答1:

I'd use Process and call the other Scala script just like any other command.



回答2:

According to Scala man, script pre-loading only works for interactive mode.

As a workaround, you can exit the interactive mode after running the script. Here's the code of child.bat (script that includes another generic one):

::#! @echo off call scala -i genetic.bat %0  goto :eof ::!# def childFunc="child"  println(geneticFunc) println(childFunc) exit; 

genericFunc is defined at genetic.bat

The output of child.bat:

>child.bat Loading genetic.bat... ...     geneticFunc: java.lang.String Loading child.bat... ... childFunc: java.lang.String generic child 


回答3:

One option would be to have a script which concatenates two files together and then launches it, something like:

@echo off type config.scala > temp.scala type code.scala >> temp.scala scala temp.scala del temp.scala 

or similar. Then you keep the two seperate as you wished.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!