emu in blogjava

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

          網(wǎng)上看到很多評論說groovy 是個很好用的腳本語言,周末去下了一個回來看看。語法好像和java有些接近,不過松散了一些,有好也有壞吧。遺憾的是沒有IDE,只好在editplus上面配了個groovy工具組,添了運行、編譯和控制臺三個命令進(jìn)去,然后開始照著手冊敲代碼。

           

          讀書的時候就換過好幾次開發(fā)語言,LOGO, BASIC (APPLE II 上面的那種呵呵), TRUE BASIC, QUICK BASIC, TURBO PASCAL, TURBO C, TPW, BC++, DELPHI每次換一種語言總是這樣幾個step

          1 hello world(看看開發(fā)環(huán)境) 2 99乘法表(看看循環(huán)、格式化輸出)3 做個比較復(fù)雜點的程序,看看過程調(diào)用、循環(huán)、判斷這些基本的語言特征。

           

          好些年沒有學(xué)新語言了,還是先試試這三板過時的(面向?qū)ο蟆?shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)都沒有涉及到)斧頭還能不能砍得了東西吧。

          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}

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

           

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

           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行)被替換成圖片了,不過本來這個符號也已經(jīng)開始被淘汰了,用“..<”

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

          評論

          # re: groovy學(xué)習(xí)筆記1 -從HelloWorld到八皇后 2006-03-15 09:26 碧海藍(lán)天
          IntelliJ IDEA 支持阿 你不知道嗎  回復(fù)  更多評論
            

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

          主站蜘蛛池模板: 蓬莱市| 南投市| 繁昌县| 横峰县| 昭苏县| 股票| 宁远县| 肇源县| 民乐县| 郸城县| 建始县| 蒲江县| 双流县| 加查县| 北海市| 成都市| 余庆县| 樟树市| 原阳县| 威海市| 苏尼特右旗| 颍上县| 抚顺市| 曲沃县| 宣汉县| 讷河市| 彰化市| 秭归县| 闻喜县| 雅安市| 望都县| 邵阳县| 芒康县| 宁武县| 缙云县| 门头沟区| 县级市| 娄底市| 青海省| 罗城| 桐庐县|