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")
  foreach(path = [
      "D:\TestPath1",
      "D:\TestPath2",
      "D:\TestPath3"
    ])
    foreach(filename = System.File.Find(path ~ '*.nuva*', "F", true)
      | not filename.EndsWith('.nuvaproj'))
      var filetext = System.File.Load(filename)
      if(not filetext.StartsWith(copyright))
        System.File.Save(filename, copyright ~ filetext, true)
      end if
    end foreach
  end foreach
.>

<..

【简介】

    本例是一个给 Nuva 源代码文件加上版权标识的程序。我们发布的所有附带源代码的 Nuva 程序文件的版权标识全部是使用该程序自动完成的。

   

    本例的程序能够查找指定目录(可以多个)的多个 Nuva 源程序文件,并且能够判断这些源代码文件是否加了相应的版权标识,如果没有,才对其添加版权信息。

 

【看点】

    1、本例演示了集合在 Nuva 语言中的使用

       Nuva 语言中,集合的定义采用方括号“[]”的形式,方括号中是元素列表,元素之间使用逗号“,”分隔。

      

    2、本例演示了对于集合的枚举操作

       Nuva 语言中,可以使用 foreach 对集合进行枚举。在枚举的过程中,还可以使用一个过滤条件,来筛选枚举的元素,如示例中的 not filename.EndsWith('.nuvaproj')。这个条件可以任意复杂。

      

    3、本例也用到了文件的操作,比如 LoadSaveFind 等。

       Load(文件名),返回文件内容

       Save(文件名, 内容, [是否覆盖]),最后一个参数可选,默认为 false

       Find(文件目录匹配符, 标识, [是否递归子文件]),标识为“D”“F”(可以组合),表示目录还是文件或者全部。返回一个文件名集合

      

    4、本例用到了字符串的操作,如 EndsWithStartsWith

       StringObject.EndsWith(子串),表示是否以该子串结尾

       StringObject.StartsWith(子串),表示是否以该子串开头

 

【扩展】

    本例可以进一步扩展以增强其实用性,比如可以更改查找的目录和文件后缀,以识别不同的源代码文件,或者进一步判断这些文件的版权信息,进而能够做出更多的功能。

..>

 

posted on 2006-08-24 19:24  Wisdom-zh  阅读(376)  评论(0编辑  收藏  举报

导航