Groovy มีวิธีผสาน 2 แผนที่หรือไม่?


85

[a: true, b: false]แผนที่แรกคือตัวเลือกเริ่มต้น แผนที่สอง - [a:false]ตัวเลือกการส่งผ่านโดยผู้ใช้ Groovy มีวิธีการผสานแผนที่[a: false, b:false]หรือไม่?

ไม่ใช่ปัญหาในการนำไปใช้ใน Groovy ฉันกำลังถามเกี่ยวกับวิธีการนอกกรอบ

คำตอบ:


176

คุณสามารถใช้ plus:

assert [ a: true, b: false ] + [ a: false ] == [ a: false, b: false ]

หรือเลื่อนซ้าย:

assert [ a: true, b: false ] << [ a: false ] == [ a: false, b: false ] 

แตกต่างก็คือเพิ่มแผนที่ขวามือเข้าไปในแผนที่ด้านซ้ายมือ<< เมื่อคุณใช้+มันจะสร้างแผนที่ใหม่ตาม LHSและเพิ่มแผนที่ทางขวามือเข้าไป


นอกจากนี้+คุณยังสามารถใช้+=:def m1 =[ a: true, b: false ]; m1 += [ a: false ] ; println (m1 == [ a: false, b: false ])
Patrice M.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.