Descobrindo o comprimento de uma string

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