三 18
正在学习scala语言,还谈不上有很深入的认识,至于为什么学习scala,最初的动力大概是它简洁的语法以及与Java的兼容性。它使用类似脚本语言的语法,实现了编译语言的执行效率,是最让Easwy心动的地方了。
看完”Programming in Scala”的前三章,参照书中的例子,我写了我的第一个scala脚本,功能很简单,它读入一个文本文件,然后把文件的内容加上行号后打印出来。
脚本程序如下:
import scala.io.Source
if (args.length > 0) {
val lines = Source.fromFile(args(0)).getLines.toList
val maxWidth = lines.length.toString.length
var i = 1
for (line <- lines) {
val padding = maxWidth - i.toString.length
print(" " * padding + i + " " + line)
i += 1
}
}
else
println("A file name is needed")
这个脚本要使用下面的命令执行:
scala printfile.scala a-text-file-here
如果你还没有安装scala,请到scala的主页下载并安装。
2010/04/07更新
在这个脚本中使用var变量,不太符合scala的编程思想,在文章scala学习:添加行号中,Easwy将其改成符合scala方式的val形式。
原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]
本文链接地址: http://easwy.com/blog/archives/first-scala-script-of-easwy/
文章的脚注信息由WordPress的wp-posturl插件自动生成
开发编程
1条评论 添加评论
val maxWidth = lines.length.toString.length
求总共多少行的的长度;假如18行,岂不是值为2?