First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0
          想必關(guān)注Java的朋友不會沒有聽說過Groovy吧?的確,由于Groovy的語法與Java極其相近,所以對于我們這群Java狂熱分子特別友好。Groovy對于有Java基礎(chǔ)的朋友來說,幾乎可以說是唾手可得!要花點時間的是Groovy所提供的獨有特性,當(dāng)然不學(xué)這些特性照樣可以用Groovy進行編程,但缺了Groovy的那個味。就比如我們學(xué)英語,的確能說能寫,但有些用法都很不地道,這是同樣的道理。

          現(xiàn)在Groovy已經(jīng)發(fā)布了1.0正式版,網(wǎng)上還有《Groovy in Action》電子書下載,學(xué)習(xí)Groovy變的越來越方便了,不用因為缺乏資料,編譯器報錯不準(zhǔn)而導(dǎo)致學(xué)習(xí)進度緩慢。而現(xiàn)在Groovy的項目之所以還比較少,其最主要的原因是Groovy的運行效率比較低,Groovy在2007年1月初才發(fā)布1.0正式版。

          至于Groovy的運行效率低,目前還沒有什么好的解決方法,這主要跟bytecode有關(guān)。但令人興奮的是,這些用Java實現(xiàn)動態(tài)語言的限制將在Java7誕生那天被解除,因為Sun已經(jīng)在研究一種新的專門用于動態(tài)語言被命名為invokedynamic的bytecode,這將大大提高動態(tài)語言比如Groovy在JVM上的運行效率,直逼Java。相關(guān)信息可參見Dynamic Language Support on the JVM ( http://www.artima.com/lejava/articles/dynamic_languages.html )

          最后給一個較常碰到的編程問題:請打印所給文本文件(EachLine.groovy),并在行首標(biāo)出行號。

          EachLine.groovy源碼:
          ??? def num = 0
          ??? new File("EachLine.groovy").eachLine { line ->
          ??????? num++
          ??????? println "$num: $line"
          ??? }

          運行結(jié)果:
          E:\Temp>groovy EachLine.groovy
          1: def num = 0
          2: new File("EachLine.groovy").eachLine { line ->
          3:????? num++
          4:????? println "$num: $line"
          5: }

          附:
          Groovy官方網(wǎng)址: http://groovy.codehaus.org
          Groovy學(xué)習(xí)資料: 通過與Java的比較,迅速掌握Groovy
          posted on 2007-01-24 17:21 山風(fēng)小子 閱讀(4716) 評論(9)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 云龙县| 荆州市| 珲春市| 高尔夫| 科尔| 大余县| 拜城县| 海门市| 鄂州市| 札达县| 沁源县| 长春市| 宁陵县| 湖州市| 长岭县| 鄱阳县| 赣榆县| 大兴区| 彰化县| 普格县| 阳谷县| 涟水县| 咸阳市| 景德镇市| 罗田县| 调兵山市| 手游| 高青县| 延川县| 保德县| 镇坪县| 灯塔市| 西峡县| 马公市| 无棣县| 华阴市| 玉树县| 巴彦淖尔市| 鹿泉市| 禹城市| 凤台县|