Aprendendo Clojure Do Zero #4: Entendendo a ideia de Code As Data

  Рет қаралды 387

Dev Eficiente

Dev Eficiente

Күн бұрын

Пікірлер: 6
@IanOliveiraTI
@IanOliveiraTI 3 ай бұрын
quando voce escreve: (eval (if 4 4 2)) no caso o eval esta evaluando apenas o resultado da operacao (if 4 4 2) e nao a lista que voce passou. no fim fica assim (eval 4) Se voce quiser usar evaluar a lista voce precisa usar o sintax sugar ' (eval '(if 4 4 2)) ou a funcao list como fez nos outros examplos sobre a utilidade do code-as-data no meu ponto de vista: torna bem facil voce "extender" a linguagem criando novas macros. um exemplo bem comum de macros de usuarios 'e essa when-let* (defmacro when-let* [bindings & body] `(let ~bindings (if (and ~@(take-nth 2 bindings)) (do ~@body) ))) que eh basicamente um when-let que permite mutiplos bindings... ter code as data facilita e muito criar esse tipo de extensao. Desculpa os milhoes de erros de acentuacao e portugues meu SO ta em outro idioma
@IanOliveiraTI
@IanOliveiraTI 3 ай бұрын
Ah sempre bom lembrar: The first rule of the macro club is: don't write macros.
@IanOliveiraTI
@IanOliveiraTI 3 ай бұрын
E de forma geral acho que ce entendeu de forma correta, bons estudo.. clojure 'e muito divertido.
@DevEficiente
@DevEficiente 3 ай бұрын
Verdade demais, me empolguei. Deixei um PS na descrição, já avisando do erro. E valeu demais pelo resto do feedback!
@williamdiegocampos5783
@williamdiegocampos5783 3 ай бұрын
Bons estudos por aí... Mas admito que sem pesquisar, mas te acompanhando, ainda não sei qual problema o Cloujure resolve. Por que devo adotar Cloujure? Quando devo considerar o uso?
@DevEficiente
@DevEficiente 3 ай бұрын
É uma linguagem de uso geral, não resolve nada que não possa ser resolvido pelo Java, C# ou Javascript. Só faz de maneira diferente :).
O Passo a Passo da minha jornada de preparo para começar no Nubank
27:13
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН
Thank you mommy 😊💝 #shorts
0:24
5-Minute Crafts HOUSE
Рет қаралды 33 МЛН
Comprehending Proc Macros
47:41
Logan Smith
Рет қаралды 23 М.
Future Continuous
45:14
Cadernos de Recordações
Рет қаралды 2
Ignorância + IA Generativa: Um encontro possivelmente explosivo
14:16
Senior Developers vs. Junior Developers, What's The Difference?
14:21
Continuous Delivery
Рет қаралды 42 М.
Seis Passos para Triturar Qualquer Requisito
23:55
Dev Eficiente
Рет қаралды 1,1 М.
Что такое Data Science?
16:05
Merion Academy
Рет қаралды 21 М.
Russia expelled from the military base / A stab in the back
12:49
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН