Nuva 示例代码(每日一帖)之 添加版权信息
<..========================================================
== ==
== Macrobject Nuva Samples ==
== ==
== Copyright (c) 2004-2006 Macrobject Software ==
== ==
== ALL RIGHTS RESERVED ==
== ==
== http://www.macrobject.com ==
== ==
========================================================..>
<.
var copyright = System.File.Load"D:\Copyright.Nuva" foreachpath = "D:\TestPath1",
"D:\TestPath2",
"D:\TestPath3"
foreachfilename = System.File.Findpath ~ '*.nuva*', "F", true | not filename.EndsWith'.nuvaproj' var filetext = System.File.Loadfilename ifnot filetext.StartsWithcopyright System.File.Savefilename, copyright ~ filetext, true end if
end foreach
end foreach
.>
<..
【简介】
本例是一个给 Nuva 源代码文件加上版权标识的程序。我们发布的所有附带源代码的 Nuva 程序文件的版权标识全部是使用该程序自动完成的。
本例的程序能够查找指定目录(可以多个)的多个 Nuva 源程序文件,并且能够判断这些源代码文件是否加了相应的版权标识,如果没有,才对其添加版权信息。
【看点】
1、本例演示了集合在 Nuva 语言中的使用
在 Nuva 语言中,集合的定义采用方括号“[]”的形式,方括号中是元素列表,元素之间使用逗号“,”分隔。
2、本例演示了对于集合的枚举操作
在 Nuva 语言中,可以使用 foreach 对集合进行枚举。在枚举的过程中,还可以使用一个过滤条件,来筛选枚举的元素,如示例中的 not filename.EndsWith('.nuvaproj')。这个条件可以任意复杂。
3、本例也用到了文件的操作,比如 Load、Save、Find 等。
Load(文件名),返回文件内容
Save(文件名, 内容, [是否覆盖]),最后一个参数可选,默认为 false
Find(文件目录匹配符, 标识, [是否递归子文件]),标识为“D”和“F”(可以组合),表示目录还是文件或者全部。返回一个文件名集合
4、本例用到了字符串的操作,如 EndsWith、StartsWith:
StringObject.EndsWith(子串),表示是否以该子串结尾
StringObject.StartsWith(子串),表示是否以该子串开头
【扩展】
本例可以进一步扩展以增强其实用性,比如可以更改查找的目录和文件后缀,以识别不同的源代码文件,或者进一步判断这些文件的版权信息,进而能够做出更多的功能。
..>