[a: true, b: false]แผนที่แรกคือตัวเลือกเริ่มต้น แผนที่สอง - [a:false]ตัวเลือกการส่งผ่านโดยผู้ใช้ Groovy มีวิธีการผสานแผนที่[a: false, b:false]หรือไม่?
ไม่ใช่ปัญหาในการนำไปใช้ใน Groovy ฉันกำลังถามเกี่ยวกับวิธีการนอกกรอบ
[a: true, b: false]แผนที่แรกคือตัวเลือกเริ่มต้น แผนที่สอง - [a:false]ตัวเลือกการส่งผ่านโดยผู้ใช้ Groovy มีวิธีการผสานแผนที่[a: false, b:false]หรือไม่?
ไม่ใช่ปัญหาในการนำไปใช้ใน Groovy ฉันกำลังถามเกี่ยวกับวิธีการนอกกรอบ
คำตอบ:
คุณสามารถใช้ 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 ])