1
import groovy.xml.MarkupBuilder
class Foo {
    Foo() {}
    String boo() {
        def writer = new StringWriter()
        def xml = new MarkupBuilder(writer)
        xml.records() {
            car(name:'HSV Maloo', make:'Holden', year:2006) {
                country('Australia')
                record(type:'speed', 'Production Pickup Truck with speed of 271kph')
            }
        }
        println writer
    }
    def methodMissing(String methodName, args) {
        println "Get called"
    }
}

Foo a = new Foo()
a.boo()

結果:

Get called
<records />

を実装しないmethodMissing()と、結果:

<records>
  <car name='HSV Maloo' make='Holden' year='2006'>
    <country>Australia</country>
    <record type='speed'>Production Pickup Truck with speed of 271kph</record>
  </car>
</records>

今、頭を掻いて血を流しています。ここで何を見逃したのですか?

4

1 に答える 1