fbpx
วิกิพีเดีย

ภาษากรูวี

ภาษากรูวี (Groovy) เป็นภาษาโปรแกรมเชิงวัตถุสำหรับแพลตฟอร์มจาวาอันหนึ่ง นอกเหนือจากภาษาจาวา เราอาจมองกรูวีเป็นเหมือนภาษาสคริปต์สำหรับแพลตฟอร์มจาวาก็ได้ เนื่องจากมันมีคุณลักษณะหลายอย่างเหมือนกับภาษาสคริปต์อย่าง ไพทอน (Python) รูบี้ (Ruby) เพิร์ล (Perl) และ สมอลทอล์ค (Smalltalk). ในบางบริบท, เราจะใช้ชื่อ JSR 241 เพื่อเรียกภาษากรูวี

โปรแกรมที่เขียนด้วยภาษากรูวี จะถูกคอมไพล์ เป็นจาวาไบต์โค้ด ซึ่งสามารถใช้งานได้บนจาวาเวอร์ชวลแมชีน (JVM) ปกติ

ขณะนี้ภาษากรูวีกำลังอยู่ในช่วงของการทำให้เป็นมาตรฐาน. ภาษากรูวีรุ่น 1.0 ออกมาเมื่อ 2 มกราคม พ.ศ. 2550

คุณลักษณะของภาษา

ภาษากรูวีมีคุณลักษณะหลายประการที่ไม่พบในภาษาจาวามาตรฐาน:

  • static typing และ dynamic typing
  • วากยสัมพันธ์สำหรับ list, map, array, และ regular expression
  • closure
  • operator overloading

เปรียบเทียบความสัมพันธ์

ตัวอย่างต่อไปนี้จะเปรียบเทียบภาษากรูวีกับภาษาจาวา:

จาวามาตรฐาน (Java 5 และสูงกว่า)

class Filter { public static void main (String[] args) { List<String> list = Arrays.asList ("Rod", "Carlos", "Chris") ; List<String> shorts = new ArrayList<String> () ; for (String item : list) {  if (item.length () <= 4) { shorts.add (item) ; } } for (String item : shorts) { System.out.println (item) ; } } } 

Groovy

list = ["Rod", "Carlos", "Chris"] shorts = list.findAll { it.size () <= 4 } shorts.each { println it } 

สนับสนุนภาษามาร์กอัป

คุณลักษณะเด่นอันหนึ่งของกรูวีก็คือ การที่มันสนับสนุนภาษามาร์กอัป (markup language) อย่าง XML และ HTML จากในตัวมันเองเลย คุณลักษณะนี้ทำให้การสร้างและใช้งานข้อมูลจากหลายแหล่ง เป็นไปได้ในวากยสัมพันธ์ของภาษาและวิธีการเขียนโปรแกรมที่เหมือนกัน ตัวอย่างเช่น:

โค้ด Groovy ต่อไปนี้ ...

 import groovy.xml.MarkupBuilder def myXMLDoc = new MarkupBuilder () myXMLDoc.workbook { worksheet (caption:"Employees") { row (fname:"John", lname:"McDoe") row (fname:"Nancy", lname:"Davolio") } worksheet (caption:"Products") { row (name:"Veeblefeetzer", id:"sku34510") row (name:"Prune Unit Zappa", id:"sku3a550") } } println myXMLDoc 

... สร้างผลลัพธ์ XML:

 <workbook> <worksheet caption='Employees'> <row fname="John" lname="McDoe" /> <row fname="Nancy" lname="Davolio" /> </worksheet> <worksheet caption='Products'> <row name="Veeblefeetzer" id="sku34510" /> <row name="Prune Unit Zappa" id="sku3a550" /> </worksheet> </workbook> 

อ้างอิง

  • Dierk Koenig with Andrew Glover, Paul King, Guillaume Laforge and Jon Skeet. Groovy in Action . Manning, 2006. ISBN 1-932394-84-2.

ดูเพิ่ม

  • Grails
  • Boo - ภาษาโปรแกรมที่มีจุดประสงค์เหมือนกัน แต่ใช้งานบน Common Language Runtime (CLI)
  • JRuby - ภาษารูบี้บนแพลตฟอร์มจาวา
  • Jython - ภาษาไพทอนบนแพลตฟอร์มจาวา
  • BeanShell - ตัวแปลภาษาขนาดเล็กสำหรับโค้ดจาวา

แหล่งข้อมูลอื่น

  • เว็บไซต์อย่างเป็นทางการ
  • JSR 241
  • An introduction to Groovy
  • Getting Groovy: 3 Part Groovy Tutorial
  • Open Directory: Java: Extensions: Groovy
  • Search Groovy

ภาษากร, groovy, เป, นภาษาโปรแกรมเช, งว, ตถ, สำหร, บแพลตฟอร, มจาวาอ, นหน, นอกเหน, อจากภาษาจาวา, เราอาจมองกร, เป, นเหม, อนภาษาสคร, ปต, สำหร, บแพลตฟอร, มจาวาก, ได, เน, องจากม, นม, ณล, กษณะหลายอย, างเหม, อนก, บภาษาสคร, ปต, อย, าง, ไพทอน, python, ruby, เพ, perl, แล. phasakruwi Groovy epnphasaopraekrmechingwtthusahrbaephltfxrmcawaxnhnung nxkehnuxcakphasacawa eraxacmxngkruwiepnehmuxnphasaskhriptsahrbaephltfxrmcawakid enuxngcakmnmikhunlksnahlayxyangehmuxnkbphasaskhriptxyang iphthxn Python rubi Ruby ephirl Perl aela smxlthxlkh Smalltalk inbangbribth eracaichchux JSR 241 ephuxeriykphasakruwiopraekrmthiekhiyndwyphasakruwi cathukkhxmiphl epncawaibtokhd sungsamarthichnganidbncawaewxrchwlaemchin JVM pktikhnaniphasakruwikalngxyuinchwngkhxngkarthaihepnmatrthan phasakruwirun 1 0 xxkmaemux 2 mkrakhm ph s 2550 enuxha 1 khunlksnakhxngphasa 1 1 epriybethiybkhwamsmphnth 1 2 snbsnunphasamarkxp 2 xangxing 3 duephim 4 aehlngkhxmulxunkhunlksnakhxngphasa aekikhphasakruwimikhunlksnahlayprakarthiimphbinphasacawamatrthan static typing aela dynamic typing wakysmphnthsahrb list map array aela regular expression closure operator overloadingepriybethiybkhwamsmphnth aekikh twxyangtxipnicaepriybethiybphasakruwikbphasacawa cawamatrthan Java 5 aelasungkwa class Filter public static void main String args List lt String gt list Arrays asList Rod Carlos Chris List lt String gt shorts new ArrayList lt String gt for String item list if item length lt 4 shorts add item for String item shorts System out println item Groovy list Rod Carlos Chris shorts list findAll it size lt 4 shorts each println it snbsnunphasamarkxp aekikh khunlksnaednxnhnungkhxngkruwikkhux karthimnsnbsnunphasamarkxp markup language xyang XML aela HTML cakintwmnexngely khunlksnanithaihkarsrangaelaichngankhxmulcakhlayaehlng epnipidinwakysmphnthkhxngphasaaelawithikarekhiynopraekrmthiehmuxnkn twxyangechn okhd Groovy txipni import groovy xml MarkupBuilder def myXMLDoc new MarkupBuilder myXMLDoc workbook worksheet caption Employees row fname John lname McDoe row fname Nancy lname Davolio worksheet caption Products row name Veeblefeetzer id sku34510 row name Prune Unit Zappa id sku3a550 println myXMLDoc srangphllphth XML lt workbook gt lt worksheet caption Employees gt lt row fname John lname McDoe gt lt row fname Nancy lname Davolio gt lt worksheet gt lt worksheet caption Products gt lt row name Veeblefeetzer id sku34510 gt lt row name Prune Unit Zappa id sku3a550 gt lt worksheet gt lt workbook gt xangxing aekikhDierk Koenig with Andrew Glover Paul King Guillaume Laforge and Jon Skeet Groovy in Action Manning 2006 ISBN 1 932394 84 2 duephim aekikhGrails Boo phasaopraekrmthimicudprasngkhehmuxnkn aetichnganbn Common Language Runtime CLI JRuby phasarubibnaephltfxrmcawa Jython phasaiphthxnbnaephltfxrmcawa BeanShell twaeplphasakhnadelksahrbokhdcawaaehlngkhxmulxun aekikhewbistxyangepnthangkar JSR 241 An introduction to Groovy Getting Groovy 3 Part Groovy Tutorial Open Directory Java Extensions Groovy Search Groovyekhathungcak https th wikipedia org w index php title phasakruwi amp oldid 7072282, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม