val values
: Seq
[ Any
] = Seq
( 1 ,
"abc" ,
new Object
) for ( a
< - values
; b
< - values
) { multiMethod( a, b)
}
def multiMethod
( arg1
: Any, arg2
: Any
) : Any
= { case ( x
: Int, y
: String
) => println
( "Got Int and String!" ) case ( x
: String, y
: Int
) => println
( "Got String and Int!" ) case ( x
: Int, y
: Any
) => println
( "Got Int and Any!" ) case ( x
: Any, y
: Int
) => println
( "Got Any and Int!" ) case _ => println
( "Got something else!" ) }
}
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJdmFsIHZhbHVlczogU2VxW0FueV0gPSBTZXEoMSwgImFiYyIsIG5ldyBPYmplY3QpCglmb3IgKGEgPC0gdmFsdWVzOyBiIDwtIHZhbHVlcykgewoJCW11bHRpTWV0aG9kKGEsIGIpCgl9CgkKCWRlZiBtdWx0aU1ldGhvZChhcmcxOiBBbnksIGFyZzI6IEFueSk6IEFueSA9IHsKCQkoYXJnMSwgYXJnMikgbWF0Y2ggewoJCQljYXNlICh4OiBJbnQsIHk6IFN0cmluZykgPT4gcHJpbnRsbigiR290IEludCBhbmQgU3RyaW5nISIpCgkJCWNhc2UgKHg6IFN0cmluZywgeTogSW50KSA9PiBwcmludGxuKCJHb3QgU3RyaW5nIGFuZCBJbnQhIikKCQkJY2FzZSAoeDogSW50LCB5OiBBbnkpID0+IHByaW50bG4oIkdvdCBJbnQgYW5kIEFueSEiKQoJCQljYXNlICh4OiBBbnksIHk6IEludCkgPT4gcHJpbnRsbigiR290IEFueSBhbmQgSW50ISIpCgkJCWNhc2UgXyA9PiBwcmludGxuKCJHb3Qgc29tZXRoaW5nIGVsc2UhIikKCQl9Cgl9Cn0K