继续介绍如何在脚本中运行Scala,在前面的文章中我们只是简单地介绍了如何在脚本中使用Scala,本文将进一步地介绍。
在脚本中使用Scala最大的好处就是可以在脚本中使用Scala的所有高级特性,比如我们可以在脚本中定义和使用Scala class,如下:
#!/bin/sh exec scala -savecompiled "$0" "$@" !# case class Iteblog(var site: String) { override def toString = site } println(Iteblog("http://www.ioteblog.com"))
运行这个脚本可以输出http://www.ioteblog.com
。
我们也可以在脚本中使用main函数:
#!/bin/sh exec scala -savecompiled "$0" "$@" !# object HelloIteblog { def main(args: Array[String]) { println("Hello" + args.mkString(",")) } } HelloIteblog.main(args)
定义main函数和正常的写法一样,只不过我们需要使用HelloIteblog.main(args)
的形式调用这个main函数。
很多时候,我们编写程序的时候往往是需要依赖外部的类。因为在脚本里面可以使用所有Scala的特性,所以我们也可以在脚本中指定需要依赖的jar包,使用方法如下:
#!/bin/sh exec scala -classpath "lib/iteblog.jar" "$0" "$@" !#
然后我们可以在脚本里面导入依赖:
#!/bin/sh exec scala -classpath "lib/iteblog.jar" "$0" "$@" !# import com.iteblog._ object Iteblog{ def main(args: Array[String]) { val json = "{\"gparam\":{\"initStep\":\"AUTH\",\"userStatus\":\"WHITEUSER\"},\"ajaxdata\":{\"url\":\"/m/ious/activation/submitAuthAndActivateSMSApi.do\",\"method\":\"post\",\"errorCode\":\"200\",\"errorMsg\":null}}" IteblogJson.parser(json) } } Iteblog.main(args)
我们可以看出,这些使用和编写正常的Scala脚本很类似。
本博客文章除特别声明,全部都是原创!原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【在脚本中使用Scala的高级特性】(https://www.iteblog.com/archives/1547.html)