欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

在脚本中使用Scala的高级特性

  继续介绍如何在脚本中运行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)
喜欢 (5)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!