Questão de Programação — Linguagens de programação — CESPE / CEBRASPE 2024
- Código
- ce176621
- Banca
- CESPE / CEBRASPE
- Órgão
- MPE-GO
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista em Informática
- CCerto
- EErrado
GabaritoE — Errado
%q e interpolação de stringsGabarito: Errado (E). Em Ruby, %q{...} é um delimitador de string não interpolado (equivalente a aspas simples). Isso significa que:
Sequências de escape como \n não são convertidas em quebra de linha, permanecem literais.
Expressões #{} não são avaliadas.
Portanto, o resultado do comando %q{one\ntwo\n#{ 1 + 2 }} é a string literal one\ntwo\n#{ 1 + 2 }, não "one\ntwo\n3". A banca tenta confundir com %Q{...} (ou %{...}), que é o delimitador interpolado e produziria "one\ntwo\n3".
A afirmação diz que o resultado é “one\ntwo\n3”. Como explicado, %q não avalia a interpolação nem interpreta \n. Logo, a assertiva está incorreta.
A banca explora a confusão entre %q (não interpolado) e %Q (interpolado). Muitos candidatos assumem que todo delimitador percentual interpreta escapes e interpola, mas %q é a exceção. Memorize: q minúsculo = aspas simples; Q maiúsculo ou sem letra = aspas duplas.
Gabarito: E — Errado.
Link permanente: /questoes/ce176621