Clojure:
Descobrindo o comprimento de uma string
Como Fazer:
;; Para descobrir o comprimento de uma string, use a função count:
(count "Olá, mundo!")
;; Saída esperada: 11
;; Você também pode usar a função .length de Java:
(.length "Olá, mundo!")
;; Saída esperada: 11
Aprofundando
Historicamente, Clojure, sendo uma linguagem hospedada na JVM (Java Virtual Machine), tira proveito das funcionalidades do Java. Por isso, além de usar count
, uma função genérica para contar coleções, você pode acessar o método .length
específico para strings do Java. Como alternativa, algumas pessoas podem preferir usar count
para consistência e para aproveitar melhor a abstração das collections do Clojure.
Devemos lembrar que, como o Clojure lida com dados imutáveis, a operação de contagem é segura e previsível - uma vez que a string não pode mudar durante a operação. Sob o capô, count
é otimizado para ser uma operação rápida, de tempo constante (O(1)
) para strings, porque a JVM mantém um registro do comprimento da string, o que evita ter que contar cada caractere toda vez.
Por fim, é raro, mas em contextos de internacionalização (i18n), o conceito de “comprimento” de uma string pode ser mais complexo, especialmente em scripts que usam composições de caracteres, como alguns sistemas de escrita asiáticos. Para a maioria dos propósitos, entretanto, as operações padrão do Clojure e Java lidam bem com isso.
Veja Também
- Documentação oficial da Clojure: clojure.org
- Guia para a função
count
do Clojure: ClojureDocs - count - Referência Java para o método
.length
: Java String length() Method