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 }
? 呵呵,典型的面向过程,全局变量都弄出来了。运行一下还满快的。
? 下回有空再看连接数据库这一块的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |