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 閱讀(3436) 評論(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ù)  更多評論
            

          主站蜘蛛池模板: 静海县| 奉新县| 定边县| 敦化市| 马山县| 栾城县| 桐柏县| 元阳县| 靖江市| 高密市| 揭东县| 洛川县| 突泉县| 盱眙县| 扶沟县| 平和县| 牡丹江市| 临沧市| 南宁市| 浏阳市| 上犹县| 高邑县| 温泉县| 隆安县| 大田县| 鄯善县| 康定县| 乐亭县| 忻城县| 滦南县| 虞城县| 台北县| 开化县| 通江县| 边坝县| 东城区| 丰镇市| 酒泉市| 九龙城区| 永济市| 杭州市|