คำถามติดแท็ก groovy

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

6
Scala vs. Groovy vs. Clojure [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ใครช่วยกรุณาอธิบายความแตกต่างที่สำคัญระหว่าง Scala, Groovy และ Clojure ฉันรู้ว่าคอมไพล์เหล่านี้ทำงานบน JVM แต่ฉันต้องการเปรียบเทียบง่าย ๆ ระหว่างพวกเขา


13
การแปลงสตริงเป็น int ใน Groovy
ฉันมีที่แสดงถึงค่าจำนวนเต็มและต้องการที่จะแปลงเป็นString intมีค่าเทียบเท่าของจาวาของ Java Integer.parseInt(String)หรือไม่?
286 groovy 

7
ฉันจะรับเอาต์พุตของคำสั่งเชลล์ที่ดำเนินการโดยใช้เป็นตัวแปรจาก Jenkinsfile (groovy) ได้อย่างไร
ฉันมีสิ่งนี้ใน Jenkinsfile (Groovy) และฉันต้องการบันทึก stdout และรหัสทางออกในตัวแปรเพื่อใช้ข้อมูลในภายหลัง sh "ls -l" ฉันจะทำสิ่งนี้ได้อย่างไรโดยเฉพาะอย่างยิ่งเนื่องจากดูเหมือนว่าคุณไม่สามารถเรียกใช้โค้ด Groovy ใด ๆ ภายในJenkinsfile?

21
มีตัวดำเนินการ null-coalescing (Elvis) หรือตัวดำเนินการนำทางที่ปลอดภัยใน javascript หรือไม่
ฉันจะอธิบายด้วยตัวอย่าง: Elvis Operator (?:) "ตัวดำเนินการ Elvis" เป็นการย่อของตัวดำเนินการแบบไตรภาคของ Java อินสแตนซ์หนึ่งที่ซึ่งมีประโยชน์สำหรับการส่งคืนค่า 'ค่าเริ่มต้นที่สมเหตุสมผล' หากนิพจน์แก้ไขเป็นเท็จหรือเป็นโมฆะ ตัวอย่างง่ายๆอาจมีลักษณะเช่นนี้: def gender = user.male ? "male" : "female" //traditional ternary operator usage def displayName = user.name ?: "Anonymous" //more compact Elvis operator ผู้ดำเนินการนำทางที่ปลอดภัย (?.) ตัวดำเนินการการนำทางที่ปลอดภัยถูกใช้เพื่อหลีกเลี่ยง NullPointerException โดยทั่วไปเมื่อคุณมีการอ้างอิงไปยังวัตถุคุณอาจต้องตรวจสอบว่ามันไม่เป็นโมฆะก่อนที่จะเข้าถึงวิธีการหรือคุณสมบัติของวัตถุ เพื่อหลีกเลี่ยงปัญหานี้ตัวดำเนินการการนำทางที่ปลอดภัยจะคืนค่า null แทนการโยนข้อยกเว้นเช่น: def user = User.find( "admin" ) //this might …

9
Groovy Shell warning“ ไม่สามารถเปิด / สร้างโหนดรูทของ prefs …”
ฉันพยายามเปิด Groovy Shell ( groovysh) บน Windows 8 และได้รับผลลัพธ์ต่อไปนี้: java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5. หลังจากพิมพ์ข้อความข้างต้นเชลล์ก็เริ่มทำงานตามที่คาดไว้

2
ความแตกต่างในการใช้ปลั๊กอิน gradle คืออะไร
ฉันไม่เข้าใจบล็อกปลั๊กอิน gradle apply plugin: 'someplugin1' apply plugin: 'maven' และอีกหนึ่ง: plugins { id 'org.hidetake.ssh' version '1.1.2' } ในบล็อกแรกเรามีชื่อปลั๊กอินบางส่วน ในแพ็คเกจที่หนึ่งและเวอร์ชันที่สอง ฉันไม่เข้าใจที่ฉันควรใช้บล็อกแรกและบล็อกที่สอง

6
Groovy: อะไรคือจุดประสงค์ของ“ def” ใน“ def x = 0”?
ในชิ้นต่อไปนี้รหัส (นำมาจากGroovy อรรถหน้าคู่มือ ) ทำไมคำนำหน้ามอบหมายด้วยคำหลักdef? def x = 0 def y = 5 while ( y-- > 0 ) { println "" + x + " " + y x++ } assert x == 5 defคำหลักที่สามารถถอดออกได้และข้อมูลโค้ดนี้จะผลิตผลลัพธ์เดียวกัน ดังนั้นผลของคำหลักdefคืออะไร
180 groovy  keyword 

7
Groovy รันคำสั่งเชลล์
Groovy เพิ่มexecuteวิธีการในStringการทำให้การเรียกใช้งานเชลล์เป็นเรื่องง่าย println "ls".execute().text แต่ถ้ามีข้อผิดพลาดเกิดขึ้นแสดงว่าไม่มีผลลัพธ์ มีวิธีง่ายๆในการรับข้อผิดพลาดมาตรฐานและมาตรฐานออกหรือไม่ (นอกเหนือจากการสร้างรหัสเป็นมัดให้สร้างสองเธรดเพื่ออ่านทั้งสองกระแสข้อมูลจากนั้นใช้กระแสข้อมูลหลักเพื่อรอให้เสร็จสมบูรณ์จากนั้นแปลงสตริงกลับเป็นข้อความหรือไม่) มันคงจะดีถ้ามีบางอย่างเช่น; def x = shellDo("ls /tmp/NoFile") println "out: ${x.out} err:${x.err}"
178 groovy 

4
สามารถเพิ่มความคิดเห็นในไฟล์เจนกินส์ได้หรือไม่?
ความคิดเห็นเป็นไปได้ใน Jenkinsfile? ถ้าใช่ไวยากรณ์คืออะไร ฉันใช้ไวยากรณ์ไปป์ไลน์ที่ประกาศได้ ฉันต้องการแสดงความคิดเห็นในส่วน "โพสต์" ด้านล่างจนกว่าเซิร์ฟเวอร์ SMTP ของฉันจะใช้งานได้ pipeline { agent { label 'docker-build-slave' } environment { IMAGE = 'registry.gitlab.com/XXXXX/bible-server' DOCKER_REGISTRY_CREDENTIALS = credentials('DOCKER_REGISTRY_CREDENTIALS') } options { timeout(10) } stages { stage('Test') { steps { sh 'yarn' sh 'npm test' } } stage('Build') { when { branch '*/master' } steps …


4
วนรอบแผนที่ใน Groovy หรือไม่
ฉันมีงานง่าย ๆ ที่ฉันพยายามทำใน Groovy แต่ดูเหมือนจะไม่สามารถใช้งานได้ ฉันแค่พยายามวนลูปผ่านวัตถุแผนที่เป็น Groovy และพิมพ์รหัสและค่าออกมา แต่รหัสนี้ใช้ไม่ได้ // A simple map def map = [ iPhone : 'iWebOS', Android: '2.3.3', Nokia : 'Symbian', Windows: 'WM8' ] // Print the values for (s in map) { println s + ": " + map[s] } ฉันกำลังพยายามให้ได้ผลลัพธ์เช่นนี้: iPhone: iWebOS Android: 2.3.3 …
175 dictionary  groovy 

6
วิธีที่แนะนำในการหยุดการสร้าง Gradle
ฉันจะหยุดการสร้าง Gradle หลังจากตรวจพบปัญหาได้อย่างไร ฉันสามารถใช้ assert, โยนข้อยกเว้นทำ System.exit (ความคิดที่ไม่ดี) หรือใช้ฟังก์ชั่นเฉพาะใน Gradle (แต่ฉันไม่สามารถหาได้) อะไรคือวิธีที่ดีที่สุดสำหรับ Gradle (และทำไม?)
162 groovy  build  gradle 

21
Gradle ไม่พบ tools.jar
ฉันใช้ javadoc doclets กับ gradle ดังนั้นฉันต้องใช้ package tools .jar ซึ่งอยู่ในโฟลเดอร์ lib จาก jdk (1.6.0_26 ในกรณีของฉัน) ประเด็นก็คือการไล่ระดับสีไม่ได้ดำเนินการโดยอัตโนมัติดังนั้นฉันจึงเพิ่มชุดเครื่องมือนั้นลงในโฟลเดอร์ libs ของฉันแล้วเพิ่มลงใน dependencies.gradle ตอนนี้ฉันต้องการที่จะนำมันโดยตรงจากบ้านของฉัน JDK เป็น dependencies.gradle ของฉัน มีวิธีทำเช่นนั้นหรือไม่? ฉันได้ลองสิ่งต่อไปนี้ในการพึ่งพาของฉันแล้ว compile files("${System.properties['java.home']}/lib/tools.jar") แต่ไม่พบในขณะที่รวบรวม
160 java  gradle  groovy  build 

5
ฉันจะทริกเกอร์งานอื่นจาก jenkins pipeline (jenkinsfile) ด้วย GitHub Org Plugin ได้อย่างไร
ฉันจะเรียกสร้างงานอื่นจากภายในได้Jenkinsfileอย่างไร ฉันคิดว่างานนี้เป็นที่เก็บอื่นภายใต้องค์กร githubเดียวกันซึ่งมีไฟล์ Jenkins ของตัวเองอยู่แล้ว ฉันต้องการทำเช่นนี้เฉพาะในกรณีที่ชื่อสาขาเป็นหลักเนื่องจากไม่สมเหตุสมผลที่จะเรียกใช้การสร้างดาวน์สตรีมของสาขาท้องถิ่นใด ๆ อัปเดต: stage 'test-downstream' node { def job = build job: 'some-downtream-job-name' } ถึงกระนั้นเมื่อดำเนินการฉันได้รับข้อผิดพลาด ไม่พบงานที่กำหนดพารามิเตอร์ชื่อ some-downtream-job-name ฉันแน่ใจว่างานนี้มีอยู่ในเจนกินส์และอยู่ในโฟลเดอร์องค์กรเดียวกันกับงานปัจจุบัน Jenkinsfileมันเป็นงานที่มีของตัวเองอีก โปรดทราบว่าคำถามนี้เป็นคำถามเฉพาะสำหรับGitHub Organization Pluginซึ่งสร้างและดูแลงานโดยอัตโนมัติสำหรับแต่ละที่เก็บและสาขาจากองค์กร GitHub ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.