gjesse
03/17/2017, 3:58 PMfun main(args: Array<String>) {
listOf("foo", "bar", "baz")
.map {
when(it) {
"foo" -> createFoo(it)
"bar" -> createBar(it)
else -> Result.Invalid()
}
}
.filter{it is Result.Valid}
.forEach{ println(it) }
}
sealed class Result {
data class Valid(val subdirs: List<String>): Result()
class Invalid: Result()
}
fun createFoo(subdirName: String): Result {
// todo implement
return Result.Valid(listOf("foosub1", "foosub2"))
}
fun createBar(subdirName: String): Result {
// todo implement
return Result.Valid(listOf("barsub1", "barsub2"))
}