1
resposta

Clojure - Criacao de uma defn, utilizando uma "variavel" sem ser passada como parametro

Aos 13 minutos, voce cria a funcao "Preparadinha", que basicamente fara a chamada da funcao start-thread-chegada. Minha duvida é a seguinte, em momento algum você passou a variavel "pessoas" para a chamada da função "preparadinha".

Em tese, nao era para retornar algum erro ?

1 resposta

Olá Aprendizado, tudo bem?

Peço desculpas pela demora no retorno a sua mensagem.

Na aula mencionada, a função "Preparadinha" não recebe a variável "pessoas" como parâmetro porque ela está definida como uma variável global. Em Clojure, é possível acessar variáveis globais dentro de uma função sem precisar passá-las como parâmetro.

No caso específico da função "Preparadinha", ela utiliza a variável global "pessoas" porque ela foi definida anteriormente no código. Dessa forma, quando a função é chamada, ela tem acesso à variável "pessoas" sem a necessidade de passá-la como parâmetro.

Isso ocorre porque Clojure é uma linguagem funcional que permite o uso de variáveis globais, mas é importante ter cuidado ao utilizá-las para evitar efeitos colaterais indesejados.

Todavia, vale ressaltar que como você postou sua pergunta há algum tempo é possível que a constante evolução da tecnologia impacte na resolução da sua dúvida. Sendo assim, caso queira se aprofundar neste tema e com conteúdos atualizados, recomendo os materiais abaixo:

Espero ter ajudado.

Abraços e bons estudos!