Eu gostaria de entender qual seria o problema de fazer isso aqui:
fun main() {
with(Endereco()){
logradouro = "Rua Vergueiro"
numero = 7700
bairro = "São Miguel Pta."
cidade = "São Paulo"
estado = "SP"
cep = "08080-880"
complemento = "Apartamento"
completo()
}.let(::println)
}
Ao invés de:
fun main() {
with(Endereco()){
logradouro = "Rua Vergueiro"
numero = 7700
bairro = "São Miguel Pta."
cidade = "São Paulo"
estado = "SP"
cep = "08080-880"
complemento = "Apartamento"
completo()
}.let{ enderecoCompleto: String ->
println(enderecoCompleto)
}
}
Tendo em vista que não estou criando variáveis para passar como parâmetro no objeto de contexto, pois com o with o objeto é passado como argumento funcionando como um receiver mas o retorno é pela lambda. Gostaria de entender esse ponto.