继续介绍如何在脚本中运行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)

