Trilhas
/
JavaScript
JavaScript
/
Exercícios
/
Política de entrada do clube de poesia
Política de entrada do clube de poesia

Política de entrada do clube de poesia

Exercício de aprendizagem

Introdução

Uma string é o tipo de dado do JavaScript para armazenar dados de texto.

Criando uma string

Você cria uma string envolvendo o texto em aspas simples ou aspas duplas. No Exercism, usamos aspas simples.

'Hello, World!'
"Hello, World!"

Strings como listas de caracteres

Uma string pode ser tratada como uma lista de caracteres, em que o primeiro caractere tem índice 0. Você pode acessar um caractere individual da string usando colchetes e o índice da letra que quer obter.

'cat'[1];
// => 'a'

Você pode descobrir o número de caracteres de uma string acessando a propriedade length.

'cat'.length;
// => 3

Concatenação e métodos

A forma mais simples de concatenar strings é usar o operador de adição +.

'I like' + ' ' + 'cats.';
// => "I like cats."

As strings oferecem muitos métodos auxiliares; consulte a documentação da MDN sobre métodos de string para ver a lista completa. A lista a seguir mostra alguns auxiliares usados com frequência.

As strings são imutáveis em JavaScript. Por isso, uma "modificação", por exemplo com alguns dos métodos acima, sempre cria uma nova string.

Instruções

Um novo clube de poesia abriu na cidade, e você está pensando em frequentá-lo. Como já houve incidentes no passado, o clube tem uma política de entrada bem específica que você precisa dominar antes de tentar entrar.

O clube de poesia tem duas portas, uma da frente e uma dos fundos, e as duas são vigiadas. Para entrar, você vai precisar descobrir a senha do dia.

A senha é sempre baseada em um poema e pode ser obtida em um processo de duas etapas.

  1. O guarda recita o poema, uma linha de cada vez, e você precisa responder com a letra correspondente dessa linha.
  2. Em seguida, o guarda diz de uma vez todas as letras que você respondeu, e você precisa anotá-las em um papel em um formato específico.

Os detalhes do processo dependem de qual porta você está tentando entrar.

1. Obtenha a primeira letra de uma frase

Para descobrir as letras da senha da porta da frente, você precisa responder com a primeira letra da linha do poema que o guarda recita para você.

Para chegar a uma senha bonita, os membros do clube de poesia gostam de usar poemas acrósticos. Isso significa que a primeira letra de cada frase forma uma palavra. Veja um exemplo de um dos escritores favoritos deles, Michael Lockwood.

Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave

Então, quando o guarda recitar Stands so high, você responde S, e quando o guarda recitar Huge hooves too, você responde H.

Implemente a função frontDoorResponse que recebe uma linha do poema como argumento e retorna a primeira letra dessa linha.

frontDoorResponse('Stands so high');
// => "S"

2. Deixe uma palavra com a inicial maiúscula

Agora que você tem todas as letras corretas, tudo o que precisa fazer para obter a senha da porta da frente é colocar a palavra com a inicial maiúscula corretamente.

Implemente a função frontDoorPassword que aceita uma string (as letras combinadas que você encontrou na tarefa 1) e a retorna com a inicial maiúscula correta.

frontDoorPassword('SHIRE');
// => "Shire"

frontDoorPassword('shire');
// => "Shire"

3. Obtenha a última letra de uma frase

Para descobrir as letras da senha da porta dos fundos, você precisa responder com a última letra da linha do poema que o guarda recita para você.

Os membros do clube de poesia são muito espertos. O poema mencionado antes também é um telestíquio, o que significa que a última letra de cada frase também forma uma palavra:

Stands so high
Huge hooves too
Impatiently waits for
Reins and harness
Eager to leave

Quando o guarda recitar Stands so high, você responde h, e quando o guarda recitar Huge hooves too, você responde o.

Repare que às vezes o guarda faz pausas estilísticas (na forma de espaços em branco) no começo ou no fim da linha. Você vai precisar ignorar essas pausas para chegar à letra correta.

Implemente a função backDoorResponse que recebe uma linha do poema como argumento e retorna a última letra dessa linha que não seja um caractere de espaço em branco.

backDoorResponse('Stands so high');
// => "h"

backDoorResponse('Stands so high   ');
// => "h"

4. Seja educado

Para entrar no clube de poesia pela porta dos fundos, você precisa ser muito educado. Então, para obter a senha, desta vez você precisa colocar a palavra com a inicial maiúscula corretamente e adicionar ', please' no final.

Implemente a função backDoorPassword que aceita uma string (as letras combinadas que você encontrou na tarefa 3) e retorna a versão educada da senha com a inicial maiúscula.

backDoorPassword('horse');
// => "Horse, please"
Editar via GitHub O link abre em uma nova janela ou aba
JavaScript Exercism

Tudo pronto para começar Política de entrada do clube de poesia?

Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.