🔗 Tarefa
O padrão a seguir corresponde a uma data no formato 13.06.1992
(dois dÃgitos, um ponto, dois dÃgitos, um ponto, quatro dÃgitos):
fun getPattern() = """\d{2}\.\d{2}\.\d{4}"""
Usando a variável month
, reescreva esse padrão de forma que ele corresponda à data no formato 13 JUN 1992
(dois dÃgitos, um espaço em branco, uma abreviação de mês, um espaço em branco, quatro dÃgitos).
Caso de uso
Em Kotlin, as string templates são uma maneira de combinar strings com variáveis ou expressões.
Um modelo de string funciona como um espaço reservado no qual se pode inserir um cifrão $
seguido do nome da variável ou expressão.
O valor real será colocado no espaço nesse modelo quando a string for utilizada.
val nome = "Mel"
println("Bom dia, $nome.") // SaÃda: Bom dia, Mel.
Também se pode incluir expressões e chamar outros métodos, utilizando chaves ${}
.
fun recuperaNome() = "Dani"
val idade = 35
println("Olá, ${recuperaNome()}. Você irá completar ${idade + 5} em cinco anos.") // Olá, Dani. Você irá completar 40 em cinco anos.
Vantagens
- Praticidade: ajudam a criar mensagens sem precisar de funções ou variáveis alternativas.
- Melhora a leitura: modelos de string são fáceis de entender, já que fica claro onde estão os valores das expressões.
Desvantagens
- Complexidade: quando se exagera no uso dos templates, a string pode ser difÃcil de entender.
- Riscos de segurança: Ao inserir informações sensÃveis diretamente nos templates, podem surgir brechas para problemas de segurança.
- Problemas de desempenho: Em situações especÃficas, o uso excessivo de templates pode ser menos eficiente do que concatenar strings, especialmente em textos muito extensos.
Analogia
Imagine um mosaico, uma arte feita de fragmentos que formam uma imagem completa. Nesse mosaico, alguns espaços são deixados vazios para serem preenchidos posteriormente, conforme a escolha do artista.
Os modelos de string em Kotlin têm uma dinâmica similar: as strings formam o mosaico completo, enquanto os espaços reservados (ou templates) representam os espaços vazios destinados a serem preenchidos com variáveis ou expressões.
val lugarEspecial = "Praia"
println("Meu lugar especial é $lugarEspecial.")
fun lugarFavorito() = "Montanhas"
println("O lugar favorito da Carla é ${lugarFavorito()}.")
Top comments (0)