emu in blogjava

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks

          網上看到很多評論說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乘法表

           1def i=0 
           2def j
           3while(i<9){
           4    i++
           5    j=1
           6    while(j<=i){
           7        print(j+"*"+i+"="+(i*j)+"\t")
           8        j++
           9    }

          10    println()
          11}

          腳本語言就是松散,分號加不加都可以。語法和數據類型好像都跟java差不多。

           

          3 寫個復雜一點的例子。前兩天看《程序員法則》剛好看到提起了著名的八皇后問題,就寫個八皇后吧:

           1int q=8
           2int[] i=new int[q]
           3int count=0
           4long t = System.currentTimeMillis();
           5scan(0)
           6println("totle results:"+count)
           7println("totle time:"+(System.currentTimeMillis()-t));
           8def scan(n){
           9    if (n==q){
          10        println(i.toList())
          11        count++
          12        return
          13    }

          14    i[n]=0
          15    while(i[n]<q){
          16        i[n] = i[n]+1
          17        if (check(n))
          18            scan(n+1)
          19    }

          20}

          21def check(n){
          22    if (n>0)
          23        for (j in 0..<n) 
          24            if (i[j]==i[n] || i[j]-i[n]==j-|| i[j]-i[n]==n-j )
          25                return false
          26    return true
          27}



          呵呵,典型的面向過程,全局變量都弄出來了。運行一下還滿快的。

           

          在blogjava貼程序的時候groovy的一個語言符號“...”(23行)被替換成圖片了,不過本來這個符號也已經開始被淘汰了,用“..<”

          posted on 2005-05-18 17:50 emu 閱讀(3432) 評論(2)  編輯  收藏 所屬分類: Groovy 學習筆記

          評論

          # re: groovy學習筆記1 -從HelloWorld到八皇后 2006-03-15 09:26 碧海藍天
          IntelliJ IDEA 支持阿 你不知道嗎  回復  更多評論
            

          # re: groovy學習筆記1 -從HelloWorld到八皇后 2006-03-15 10:15 emu
          知道的。我在 http://www.aygfsteel.com/emu/archive/2005/05/18/4781.html 有提起過。  回復  更多評論
            

          主站蜘蛛池模板: 旬阳县| 武冈市| 道真| 张家港市| 卢湾区| 都江堰市| 枣庄市| 宁安市| 西充县| 徐州市| 襄樊市| 岳池县| 水城县| 资阳市| 高雄市| 凌海市| 台山市| 沙坪坝区| 九龙坡区| 马尔康县| 庆城县| 上林县| 辉县市| 宁波市| 彰武县| 嘉善县| 奈曼旗| 华阴市| 庆元县| 司法| 达孜县| 临朐县| 平安县| 英山县| 平利县| 苍南县| 兖州市| 新乐市| 东丰县| 孟津县| 石阡县|