หลายคุณลักษณะของมันได้รับแรงบันดาลใจจากภาษาเช่นงูหลาม, สมอลล์ทอล์คทับทิมและทำให้พวกเขาพร้อมที่จะพัฒนาโดยใช้ไวยากรณ์ Java เหมือน.
Apache Groovy สามารถนำมาใช้ในการพัฒนาโปรแกรมเว็บเขียนสคริปต์เปลือกเขียนกระชับความหมายกรณีทดสอบโดยใช้การรวม JUnit ของ Groovy หรือการสร้างต้นแบบการผลิตและการใช้งานที่ความแรงของอุตสาหกรรมที่แท้จริง.
Groovy ทำงานเรียบร้อยกับวัตถุ Java ที่มีอยู่ทั้งหมดและห้องสมุดและรวบรวมตรงไปยัง Java bytecode ทั้งในการพัฒนาโปรแกรมประยุกต์หรือโหมดการเขียนสคริปต์
คุณสมบัติ .
- สร้างเมื่อจุดแข็งของ Java แต่มีคุณสมบัติพลังงานเพิ่มเติมแรงบันดาลใจจากภาษาเช่นงูหลาม, ทับทิมและสมอลล์ทอล์ค
- เพิ่มคุณสมบัติการเขียนโปรแกรมที่ทันสมัยเพื่อ Java
- รองรับโดเมนภาษาเฉพาะ
- เพิ่มผลผลิตพัฒนา
- การทดสอบง่าย
- รวบรวมตรงไปยัง Java bytecode
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้
- คุณลักษณะใหม่:
- ขยาย @Builder InitializerStrategy ที่จะสนับสนุนการเพิ่มคำอธิบายประกอบในการก่อสร้าง
- ปรับปรุง:
- เบรกชุดสำหรับแต่ละส่วนในเอกสาร Ascii Groovy.
- พิมพ์ผิดเล็กน้อยในเอกสารสำหรับ DefaultGroovyMethods.xor (ซ้าย, ขวา)
- Groovysh จบรหัสเข้ากันไม่ได้กับ JDK 9 (จิ๊กซอว์)
- เพิ่มอาร์เรย์ดั้งเดิมเข้าร่วม ()
มีอะไรใหม่ ในรุ่น 2.3.0:
- การสนับสนุนอย่างเป็นทางการสำหรับการทำงานใน Groovy JDK 8
- ลักษณะ
- ใหม่และการปรับปรุงเปลี่ยนแปลงเช่น AST @TailRecursive, @Builder และ @Sortable
- โมดูลใหม่ NIO2 ด้วยการสนับสนุนเส้นทาง
- แยก JSON นิ่งได้อย่างรวดเร็วและการสร้าง
- อนุมานชนิดพารามิเตอร์ปิด
- แม่แบบเครื่องยนต์มาร์กอัปใหม่
- Groovysh และความสะดวกใน GroovyConsole ของการปรับปรุงการใช้งาน
- ยูทิลิตี้การทดสอบใหม่ GroovyAssert
- @BaseScript ความสามารถอื่น ๆ ระดับ
มีอะไรใหม่ ในรุ่น 2.2.2:.
- สนับสนุน int / int ชนิดเป้าหมาย int
- การสนับสนุน int / int ชนิดเป้าหมายใด ๆ .
- การสนับสนุน T / V ด้วย T, V เป็นหนึ่งจาก (int สั้นไบต์, ถ่าน, ยาว).
- มี @Deletgate รวมถึงจำนวนเส้นในร่องรอยสแต็ค.
- การปรับปรุงข้อผิดพลาดในกรณีที่ผู้ใช้กำหนด & quot; เรียกใช้ & quot; วิธีการในสคริปต์.
มีอะไรใหม่ ในรุ่น 2.1.7:
- ข้อ จำกัด เอกสารปกติแผนที่ในรูปแบบการใช้งานคอนสตรัคเมื่อ ใช้ @Immutable
- DOMCategory: ข้อความ () ไม่ได้รับค่าโหนดถ้ามันเป็นส่วน CDATA
- ผู้ประกอบการมากเกินไปกับชนิดกลับ
- Null หาเรื่องโทรไม่ ambiguouseven แม้ว่ามันควรจะเป็น
- GroovyDoc ไม่ได้หลบหนีวงเล็บมุมใน @code และแท็ก @literal
- JavaStubGenerator ล้าง initializers ตัวอย่างเช่น
- การใช้ @CompileStatic ในรหัสที่ใช้ประกอบการแพร่กระจายในผลการตั้งค่าความผิดพลาดในการรวบรวม
- @CompileStatic ในชั้นเรียนโดยใช้กับ (ปิด) นำไปสู่การรวบรวมข้อผิดพลาด.
สิ่งที่ใหม่ ในรุ่น 2.1.5:
- การใช้วิธีการมากเกินไปกับที่ว่างเปล่า / varags พารามิเตอร์ล้มเหลว ถ้าการตรวจสอบชนิดมีการใช้งาน
- มด groovyc พ่น NoClassDefFoundError รวบรวมระดับแรงกับ @DelegatesTo และ @CompileStatic
- META-INF / บริการ / org.codehaus.groovy.runtime.ExtensionModule หายไปจากแรง-all.jar
- รวบรวม @CompileStatic ล้มเหลวในบางครั้งการสร้าง gradle มีข้อผิดพลาดการอ้างอิงถึงวิธีการที่ชัดเจน ไม่สามารถเลือกระหว่าง
- การตั้งค่าการไหลที่ไม่ถูกต้องหลังจากที่พิมพ์ถ้าสาขา
มีอะไรใหม่ ในรุ่น 2.1.4:
- การสนับสนุนเอเอสทีแปลงบนสนามที่สร้างขึ้นโดย @Field ในสคริปต์
- @DelegatesTo ควรจะ @Documented
มีอะไรใหม่ ในรุ่น 2.0.6 / 2.1.0 RC 1:
- บันทึกย่อ @DelegatesTo: ที่จะช่วยให้ IDEs และตรวจสอบประเภทคงที่และคอมไพเลอร์ที่จะรู้ว่าวิธีการโทรในการปิดวิธีพารามิเตอร์จะมอบหมายให้พารามิเตอร์อื่นของวิธีการ -. ที่ดีสำหรับ DSLs เหมือนใน Gradle สร้างไฟล์
- ประเภทที่กำหนดเองการตรวจสอบนามสกุล:. เพื่อให้คุณสามารถพิมพ์การตรวจสอบมี DSL ของคุณในเวลารวบรวมกับตรรกะของคุณเอง
- ระบบเมตาบันทึกย่อ: ซึ่งจะช่วยให้คุณสามารถกำหนดคำอธิบายประกอบใหม่จริงรวมอื่น ๆ อีกหลาย - ซึ่งยังหมายถึงความสามารถในการใช้แปลง AST หลายกับบันทึกย่อที่กำหนดเองเดียว .
- สคริปต์ฐานที่กำหนดเองธงชั้นเรียนสำหรับคอมไพเลอร์ groovyc. เพื่อกำหนดระดับสคริปต์ฐานเมื่อรวบรวมสคริปต์ Groovy
- สคริปต์การกำหนดค่าคอมไพเลอร์ที่จะช่วยให้คุณสามารถกำหนดค่าตัวเลือกต่างๆสำหรับคอมไพเลอร์ Groovy เช่นการระบุนามสกุลไฟล์ที่กำหนดเอง customizers สะสมต่างๆที่จะใช้ ฯลฯ ..
มีอะไรใหม่ ในรุ่น 2.0.4:
- จะแก้ไขปัญหาที่สำคัญบางอย่างที่เราเคยมี ทั่วไปกับเครื่องกำเนิดไฟฟ้าต้นขั้ว, รวมทั้งการแก้ไขต่างๆที่เกี่ยวข้องกับการตรวจสอบชนิดและคุณสมบัติคงที่รวบรวมแบบคงที่.
มีอะไรใหม่ ในรุ่น 2.0.0:
- ตรวจสอบประเภทคงที่จะให้คอมไพเลอร์บอกคุณ เกี่ยวกับความถูกต้องของรหัสของคุณ.
- รวบรวมแบบคงที่ในการดำเนินงานในส่วนที่สำคัญของการประยุกต์ใช้ของคุณ.
- Modularity, แยก JAR Groovy ลงในขวดที่มีคุณลักษณะที่มุ่งเน้นการขนาดเล็กและให้คุณสร้างโมดูลส่วนขยายของคุณเอง.
- JDK 7 โครงการปรับปรุงไวยากรณ์เหรียญเพื่อที่ว่าแรงยังคงเป็นมิตรที่เป็นไปได้กับญาติของ Java.
- JDK 7 วิงวอนบูรณาการแบบไดนามิกได้รับประโยชน์จากการสนับสนุนของ JVM สำหรับภาษาแบบไดนามิก.
มีอะไรใหม่ ในรุ่น 1.8.6:
- Groovy 1.8.6 เป็นรุ่นการบำรุงรักษาเป็นหลัก ที่มีการปรับปรุงเล็กน้อยและคุณสมบัติใหม่.
มีอะไรใหม่ ในรุ่น 1.8.1:
- โรคจิต:
- ข้อผิดพลาดใน AntBuilder - DemuxOutputStream ควรใช้
- ปรับเปลี่ยนในตัวแปรท้องถิ่นจะถูกละเลย
- รวบรวมร่วมล้มเหลวหากวิธี Groovy กับพารามิเตอร์อาร์เรย์เรียกว่าในรูปแบบ vararg จาก Java
- Groovy ไอคอนคอนโซลสำหรับ Mac OS X หัก
- เพียงข้อยกเว้นรากในสคริปต์ถูกพิมพ์
- @ToString ไม่ทำงานชนิด enum
- มีหมาที่มีค่าตอบแทนทำให้เกิดกำเนิดต้นขั้วเพื่อสร้าง setters หลายแล้วล้มเหลวที่จะรวบรวม
- รุ่นตับล้มเหลวที่มีลายเซ็นทั่วไป
- java.lang.ClassFormatError: ชื่อชั้นที่ผิดกฎหมาย & quot; แรง / JMX / สร้าง / แพคเกจข้อมูล & quot; ในแฟ้มระดับแรง / JMX / สร้าง / แพคเกจข้อมูล
- Varargs จะไม่แสดงโดย GroovyDoc
- Java5 configureClassNode ไม่ดูแลของคำอธิบายประกอบพารามิเตอร์
- ClassNode.equals พ่น ClassCastException สำหรับวัตถุชนิดอื่น ๆ
- ปรับปรุง:
- ตัดสตริงเมื่อเมื่อสร้าง MissingMethodException
- ประกอบ Ternary: ไม่ได้จัดการกับการขึ้นบรรทัดใหม่ก่อน & quot;: & quot; อย่างสง่างาม
- เพิ่มตัวเลือกการตั้งค่าการเชื่อมต่อกับ URL.getText () URL.newInputStream () และ URL.newReader ()
- เพิ่ม repo ผู้เชี่ยวชาญในท้องถิ่นที่จะเริ่มต้นการตั้งค่าองุ่น
- เพื่อสนับสนุน PreparedStatement.addBatch ()
- เมื่อทำงานร่วมกับ ClassNodes บางครั้งต้องเรียก getFields () ก่อนที่จะ getField () จะทำงาน (init ขี้เกียจ)
- คำอธิบายประกอบกองทัพกับตัวแปรที่จะถูกรวมอยู่ในแปลง AST
- groovyConsole ควรสนับสนุนประเภทไฟล์ร่วมกันมากขึ้น: .story, .gpp และ .grunit
- @ThreadInterrupt ทำให้ตัวเลือกใน Groovy คอนโซล
- อนุญาตให้ยกเว้นระดับที่กำหนดเองจะถูกโยนในแปลง @Interrupt AST
- @EqualsAndHashCode ควรใช้ getX () แทน x เมื่อมีการเข้าถึงคุณสมบัติ
- เปิดใช้งาน JsonBuilder ที่จะทำงานกับวัตถุซ้ำ
- @Newify ทำงานสำหรับการเรียนที่กำหนดไว้ล่วงหน้า แต่ไม่สำหรับการเรียนที่กำหนดไว้ในสคริปต์เดียวกัน
- ตรวจจับบันทึกย่อพารามิเตอร์ ASTTransformationCustomizer
- ปิดตัวตนอาจจะทำใช้ได้
- การเพิ่มประสิทธิภาพของไมเนอร์เพื่อให้รุ่นไม่มีหาเรื่องของ DGM grep () ค้นหา () และ findall () วิธี
- 'รวมถึง' แอตทริบิวต์ใน EqualsAndHashCode
- ความสำเร็จที่ดีกว่าสำหรับแท็บ GroovyShell
- findResults วัตถุ / คอลเลกชัน / แผนที่แพทช์เพิ่มประสิทธิภาพ (โคลนจาก findResult)
- Map.inject () ไม่ยอมรับการปิด 3 ข้อโต้แย้ง (สะสมที่สำคัญค่า) เพียง 2 (สะสม Map.Entry)
- JsonBuilder ด้วยการสนับสนุนนักเขียนจะมีประโยชน์
- เปลี่ยนชื่อ DGM collectAll เพื่อ collectNested - เก็บเดิมเป็นนามแฝงสำหรับเวลาที่ได้อยู่กับมุมมองที่จะหึ / ลบในที่สุด
- Groovy ควรให้จดชวเลขสำหรับ:. เก็บ {} แผ่ ()
- คุณสมบัติใหม่:
- เมื่อรันสคริปต์บรรทัดคำสั่งที่มันควรจะเป็นไปได้ที่จะเริ่มดำเนินการและวิธีการ END (คล้ายกับ AWK หรือ Perl)
- เพิ่มวิธีการที่จะใช้ในการคอลเลกชัน Iterators, อาร์เรย์
- GroupBy กับรายการหรืออาร์เรย์ของการปิดตามที่เป็นพารามิเตอร์สำหรับการจัดกลุ่มซ้อนกัน
มีอะไรใหม่ ในรุ่น 1.8.0:
- ลึกซึ้งแบบไดนามิกของ Groovy เฉพาะสำหรับการกำหนด DSLs .
- ประสิทธิภาพ Runtime.
- การดำเนินการพร้อมกันและขนาน.
- การออกแบบโดยการทำสัญญา.
- สไตล์การเขียนโปรแกรมการทำงาน.
- การสนับสนุน JSON ชั้นแรก.
- รวบรวมเวลาเขียนโปรแกรม meta.
- ช่วยเหลือเพิ่มเติมและเพิ่มเติมห้องสมุด.
มีอะไรใหม่ ในรุ่น 1.8.0 RC 4:
- comings สั้นในรหัสการเพิ่มประสิทธิภาพใหม่ .
- ปิดบัง GEP-3 ข้อผิดพลาด.
มีอะไรใหม่ ในรุ่น 1.7.10:
- ถาวร:
- StreamingMarkupBuilder สามารถผลิต XML ที่ไม่ถูกต้อง.
- สร้างแรงล้มเหลวในการทดสอบ - RedundantCastInStubTest ทดสอบล้มเหลว .
- ปรับปรุง:
- เพิ่มการสนับสนุนสำหรับเอาชนะ package-, doc- หรือระดับแม่แบบในชั้นเรียนลูกหลาน Groovydoc.
มีอะไรใหม่ ในรุ่น 1.7.9:
- ข้อผิดพลาด:
- GString ไม่ได้ข่มขู่เพื่อ String เมื่อใช้ใน ctor รองข้อยกเว้นของ
- Groovysh ประวัติศาสตร์การเรียกคืน 'ดูเหมือนว่าจะมีการเลือกรายการที่ไม่ถูกต้อง (โดย 1)
- ExpandoMetaClass.class.metaClass สร้าง StackOverflow
- LoadConfiguration ไม่สามารถโหลด * ขวด
- การจัดการที่ไม่ถูกต้องของลำดับหนี Unicode เมื่อคำนวณสถานที่แหล่งที่มา
- ผลการรวบรวม Groovy ในคำเตือนในรหัสที่สร้างขึ้น
- ข้อยกเว้น java.lang.VerifyError & quot; คาดหวังที่จะหาวัตถุ / อาร์เรย์ในกอง & quot; เมื่อเอาชนะวิธี notyped ด้วยวิธีการพิมพ์
- กำเนิดต้นขั้วไม่ได้หลบหนีสตริงผสมกับคำพูดเดี่ยวและคู่
- เรียนภายในคงที่จะไม่ได้ถูกรวบรวมอย่างถูกต้อง
- ข้อผิดพลาดกับพารามิเตอร์ null ในงบที่เตรียมไว้พร้อมคนขับ DB2 เก่า
- สคริป 'โหนดชั้นไม่ได้มีตำแหน่งแหล่งที่ถูกต้อง
- StreamingMarkupBuilder สามารถผลิตที่ไม่ถูกต้อง XML
- ปรับปรุง:
- อ่านเข้าถึงทรัพย์สินที่กำหนดไว้ผ่านทาง metaClass ไม่ทำงานโดยไม่ต้องเทอร์มิพารามิเตอร์รายการปิด
- groovydocs GDK สำหรับ String.padXXX ไม่ชัดเจนมาก [ถ้อยคำใหม่แนบ]
- สะกดผิด (รายการ - & # x3e; แผนที่) ใน GDK doc ความคิดเห็น
- ใช้วิธีการที่เรียกว่าวิธีการที่ตรง
- คุณลักษณะใหม่:
- คำสั่งองุ่นไม่สามารถลบและ / หรือปรับปรุง & quot; องุ่น & quot;
- งาน:
- Rewrite GroovyScriptEngine
มีอะไรใหม่ ในรุ่น 1.8.0 RC 1:
- ข้อผิดพลาด:
- Groovysh ประวัติศาสตร์การเรียกคืน 'ดูเหมือนว่าจะมีการเลือกรายการที่ไม่ถูกต้อง (โดย 1)
- LoadConfiguration ไม่สามารถโหลด * ขวด
- ข้อยกเว้น java.lang.VerifyError & quot; คาดหวังที่จะหาวัตถุ / อาร์เรย์ในกอง & quot; เมื่อเอาชนะวิธี notyped ด้วยวิธีการพิมพ์
- การใช้ตัวแปรเข้าสู่ระบบที่สร้างขึ้นด้วย @Log หรือ @ Log4j ทำให้เกิดข้อผิดพลาดคอมไพเลอร์ถ้าใช้วิธีการแบบคงที่
- คอนโซลเปิดตัวจากแรงทั้งหมด-1.7.6.jar ขณะนี้มีไม้เลื้อย dependancy
- เรียนภายในคงที่จะไม่ได้ถูกรวบรวมอย่างถูกต้อง
- & quot; anystring & quot; เป็นไบต์ [] พ่น java.lang.NumberFormatException: สำหรับสายเข้า: & quot; anystring & quot;
- ปรับปรุง:
- เพิ่ม @ThreadInterrupt เพื่อปลอบใจสคริปต์โดยอัตโนมัติ
- ชอบ ClassHelper.make (Class) มากกว่า ClassNode ใหม่ (Class)
- คุณลักษณะใหม่:
- คำสั่งองุ่นไม่สามารถลบและ / หรือปรับปรุง & quot; องุ่น & quot;
มีอะไรใหม่ ในรุ่น 1.8.0 Beta 4:
- การปรับปรุงประสิทธิภาพการทำงานอย่างต่อเนื่องในการคำนวณจำนวนเต็มดั้งเดิม .
- Bundling ของ GPars ในห้องสมุดของการกระจายไบนารี.
- Built-in สนับสนุน JSON กับ slurper JSON และ parser JSON.
สิ่งที่ใหม่ ในรุ่น 1.8.0 Beta 3:
- สำนวนคำสั่งขยายสามารถนำมาใช้ใน ด้านขวามือได้รับมอบหมาย.
- การเปลี่ยนแปลง @Log AST สามารถปรับแต่งได้ตามความต้องการของการเข้าสู่ระบบของคุณเอง.
- แผนที่ตอนนี้มี isCase วิธี ().
- ทางลัด @GrabResolver กับ @GrabResolver (& quot; http: // บาง / url & quot;) .
- String สามารถที่จะบังคับ Enums (& quot; สีฟ้า & quot; เป็นสี) .
- การสนับสนุนสำหรับ memoization ปิดและผ้าใบ.
- @ThreadInterrup, @ConditionalInterupts และ @TimedInterrupt แปลง AST สำหรับการหยุดการดำเนินการของสคริปต์ที่ฝังตัว
- นาที () / สูงสุด () วิธีบนแผนที่ (ค่า).
- ความสามารถในการจัดเก็บข้อมูลเมตาโหนดในต่อมน้ำ AST สำหรับใช้ในการแปลง AST ของคุณ.
มีอะไรใหม่ ในรุ่น 1.8.0 Beta 2:
- การประกาศประเภททั่วไปการรั่วไหลข้ามไฟล์ทั้งหมดใน สร้าง.
มีอะไรใหม่ ในรุ่น 1.7.5:
- โรคจิต:
- การแยกวิเคราะห์ของยืนยันล้มเหลวเมื่อมีการขึ้นบรรทัดใหม่ระหว่างการทดสอบ 'และ' ข้อความ '
- ผู้รับมอบฉันทะฤดูใบไม้ผลิ / CGLIB โยนยกเว้น & quot; วัตถุไม่ได้เป็นตัวอย่างของการประกาศคลาส & quot;
- ต้องการที่จะจัดหาคอนสตรัคมือที่สร้างขึ้นสำหรับ enum มี & # x3e 1 สนาม
- Exponantiation
- GroovyScriptEngine ไม่สามารถฟื้นฟูระดับจากสมาชิกอื่น ๆ นอกเหนือจากไฟล์
- เพิ่มการทดสอบ / คุ้มครอง (สำหรับสวนยางของสะสมร่วมล้มเหลวสำหรับการเชื่อมต่อกับเขตข้อมูลดั้งเดิม)
- คอมไพเลอร์ไม่ทราบกรณีที่เริ่มต้นหลายคำสั่งที่สวิทช์
- กำเนิดต้นขั้วการจัดแสดงนิทรรศการในวิธีการสังเคราะห์สมบูรณ์ก็ไม่ควร </ li>
- 1.7.4 Groovy เคยชินสร้างจากแหล่ง
- สร้าง createCallSiteArray มีขนาดใหญ่เกินไปสำหรับ JVM
- วิธีแกงล้มเหลวเมื่อใช้มันในห่วงโซ่ที่มี IllegalArgumentException
- DefaultGroovyMethods # ที่ไม่ซ้ำกัน O (n²) ประสิทธิภาพ
- DGM # consumeProcessOutput (กระบวนการ StringBuffer, StringBuffer) ยอมรับเพียง StringBuffers
- ระดับ @Immutable ความล้มเหลวเมื่อพยายามที่จะกำหนดสมาชิกคงส่วนตัว
- DGM.eachLine () ผลตอบแทนที่ไม่ถูกต้อง
- ข้อผิดพลาดในการใช้การรวบรวมมรดกและยาร่วมกัน
- โดยนัยนี้ล้มเหลวที่จะได้รับอย่างถูกต้องผ่านจากระดับชั้นไม่คงที่ไปยังอีก
- XML รอบสะดุดซึ่งมีการอ้างอิงตัวอักษรขึ้นบรรทัดใหม่ในค่าแอตทริบิวต์ของเอาการอ้างอิงตัวละคร
- การตอบสนองความมุ่งมั่นที่มีอยู่แล้วบน Google App Engine ที่ให้บริการเมื่อ blobs
- JavaStubGenerator ไม่ต้องสร้างคำอธิบายประกอบที่มีคุณสมบัติประเภทอาร์เรย์
- ขอบเขตของตัวแปร BlockStatement ได้รับหายไปภายใน ReturnAdder
- ResourceBundle ใน 1.7 เบต้า 1
- ความจริงของ Groovy groovy.util.slurpersupport.NoChildren ควรเป็นเท็จ
- ClassFormatError ขยายอินเตอร์เฟซทั่วไปที่มีวิธีการที่มีการโต้แย้งกลับอาร์เรย์ชนิดทั่วไป
- ข้อผิดพลาด FindBugs สำหรับจำนวนเต็มใหม่ () กับ Integer.valueOf () เช่นสาย
- unaryMinus ล้มเหลวสำหรับระยะสั้นและ Byte
- การเข้าถึงคุณสมบัติด้านนอก / วิธีการจากผลการเรียนชั้นใน NPE
- อ้างอิงไม่มีเงื่อนไขและวิธีการในคลาสคงซุปเปอร์สาขาคงล้มเหลวในการรวบรวม
- ปรับปรุง:
- findResult และ findAllResults วัตถุ / คอลเลกชัน / แผนที่แพทช์เพิ่มประสิทธิภาพ
- โทรยืนยันการปิดควรมีลักษณะดังนี้
- การปรับปรุงประเภทการดำเนินงานและความทรงจำ
- เพิ่มนามสกุลไฟล์หลายสนับสนุนในการคอมไพเลอร์
- คุณสมบัติใหม่:
- ให้กลไกสำหรับการแปลง AST ทั่วโลกเพื่อให้สามารถกำหนดนามสกุลไฟล์สำหรับแหล่งที่มาแรงพวกเขาควรจะนำไปใช้กับ
- ให้ทดสอบเครื่องกำเนิดไฟฟ้ากุดโครงสร้างพื้นฐาน
- เพิ่มผูกสังเคราะห์ JList
มีอะไรใหม่ ในรุ่น 1.7.4:.
- ปิดอยู่ในขณะนี้ & quot; callable & quot;
- แปลง AST ใหม่.
- ไวยากรณ์เพิ่มเติมสำหรับสตริงกับ $ / ... / $, เพื่อหลีกเลี่ยงการหลบหนีกรณีต่างๆมุมอย่างเช่น $ / a / b & # x5c ค $$ $ $ //
- วิธีการใหม่เช่น GDK Map.countBy {}, {} Map.collectEntries, Date.putAt () (ผู้ประกอบการห้อย) Date.updated ().
- วิธีการใหม่ String เช่นทีอาร์ () stripMargin () stripIndent (), (UN) ขยาย ()
- แผนที่ของ withDefault วิธี {}
- ncury ปิดของ () และ rcury ()
มีอะไรใหม่ ในรุ่น 1.7.3:
- แปลง AST ใหม่เช่น @Synchronized (ใช้งานให้ปลอดภัย การประสาน) และ @InheritConstructors (ที่ดีสำหรับการสืบทอดก่อสร้างข้อยกเว้น)
- แรก () / ล่าสุด () / หัว () / หาง () วิธีในอาร์เรย์สำหรับความสอดคล้องกับรายการ (อาร์เรย์ดั้งเดิมยังไม่ครอบคลุม)
- การปรับปรุงบางอย่าง BigDecimal การจัดการเพื่อให้ได้ผลลัพธ์ที่ดีขึ้นในบางกรณีขอบคำนวณ
- การปรับปรุงการนำเข้าคงที่สำหรับคุณสมบัติ
- วิธีการใหม่ในวันที่ให้คุณสามารถทำแคล [DAY_OF_WEEK] = จันทร์
- วิธีการจัดการใหม่ String เช่นประโยชน์ (), UNIX ของทีอาร์ () ขยาย () / unexpand () เช่นเดียวกับ stripIndent () และ stripMargin ()
- ดีไอคอน Groovy สำหรับคอนโซลสวิง Groovy บน Mac OS X
ความคิดเห็นที่ไม่พบ