groovy学习笔记1

网上看到很多评论groovy 是个很好用的脚本语言,周末去下了一个回来看看。语法好像和java有些接近,不过松散了一些,有好也有坏吧。遗憾的是没有IDE,只好在editplus上面配了个groovy工具组,添了运行、编译和控制台三个命令进去,然后开始照着手册敲代码

 

读书的时候就换过好几次开发语言,logo,BASIC (APPLE II 上面的那种呵呵),TRUE BASIC,QUICK BASIC,TURBO PASCAL,TURBO C,TPW,BC++,DELPHI每次换一种语言总是这样几个step

1 hello world(看看开发环境) 2 99乘法表(看看循环、格式化输出3 做个比较复杂点的程序,看看过程调用、循环、判断这些基本的语言特征。

 

好些年没有学新语言了,还是先试试这三板过时的(面向对象、数据库、网络服务都没有涉及到)斧头还能不能砍得了东西吧。

1 hello world

脚本语言就是方便,一点上下文都没有,一个println就搞定了

 

2 99乘法表

int i=0,j=0

while(i<9){

       i++;j=1;

       while(j<=i){

              print(j+"*"+i+"="+(i*j)+"/t")

              j++

       }

       println()

}

脚本语言就是松散,分号加不加都可以。语法和数据类型好像都跟java差不多。

 

3 写个复杂一点的例子。前两天看《程序员法则》刚好看到提起了著名的八皇后问题,就写个八皇后吧:

int q=8

byte[] i=new byte[q]

byte count=0

scan(0)

println("totle results:"+count)

def scan(n){

       if (n==q){

              println(i.toList())

              count++

              return

       }

       i[n]=0

       while(i[n]<q){

              i[n] = i[n]+1

              if (check(n)){

                     scan(n+1)

              }

       }

}

def check(n){

       int j=0;

       while(j<n){

              if (i[j]==i[n] || i[j]-i[n]==j-n || i[j]-i[n]==n-j ){

                     return false

              }

              j++

       }

       return true

}

 

呵呵,典型的面向过程,全局变量都弄出来了。运行一下还满快的。

 

下回有空再看连接数据库这一块的。

相关文章

1.下载安装SuperScript插件-> jEdit Plugin Central 2.修改<jedit.home>/startup/startup.bsh...
c/c++ pascal basic java c# perl    自由王国的体现 groovy     lisp    波兰式, C C++ P...
目前的脚本语言已经很多了,包括Python、Ruby以及对应于java平台的Jython和JRuby。前一段时间对Python有...
看了点groovy的ml archives,争论不休的EOS/EOL问题。 C-style的语言本没有EOS问题,语法规定显式的...
昨天终于挑灯看完了http://www-106.ibm.com/developerworks/java/library/j-alj08034.html,很多年以后...
1.   从例子开始 a)        目的:演示Groovy的一些简单特性。   b)        代码: ...