As funções true?, min-key e max-key permitem verificar condições e retornar o elemento de uma sequência que contenha a menor ou maior chave fornecida. A função memoize memoriza os resultados de chamadas anteriores de uma função para retorná-los mais rapidamente, enquanto concat une sequências em uma única sequência.
1. True? -Function (true? x) Checa se a condição X passadaporparâmetro é verdadeira. Se simretorna true, casocontrárioretorna false.Exemplo: (true? (= 3 5)) Retorno: false (true? (< 1 3)) Retorno: true
2. min-key - Seq -Function (min-key k x) (min-key k x y) (min-key k x y & more) Retorna o menor X para o qual (k x).SÓ FUNCIONA SOBRE NÚMEROS!Exemplos: (min-key :azul {:nome “matheus” :azul 5} {:nome “Diego” :azul 2} {:nome “Alex” :azul 7} {:nome “Landell” :azul 0}) Retorno:{:nome “Landell”, :azul 0}
3. max-key - Seq -Function (max-key k x) (max-key k x y) (max-key k x y & more) Retorna o maior X para o qual (k x).SÓ FUNCIONA SOBRE NÚMEROS!Exemplos: (max-key :azul {:nome “matheus” :azul 5} {:nome “Diego” :azul 2} {:nome “Alex” :azul 7} {:nome “Landell” :azul 0}) Retorno:{:nome “Alex”, :azul 7}
4. Memoize - Functions -Function (memoizef) Retornaumaversão “memorizada” quereferencia a função. Essaversãoguardaem cache osresultados das chamadasjáefetuadas, entãoquandoumachamada com osmesmosargumentos é repetidaosresultadossãoretornadosmuitomaisrapidamente.Exemplos: (defnminhafunc[a] (println “fazendoalgumacoisa” (+ a 10)) (def minhafunc-memo (memoizeminhafunc)) (minhafunc-memo 1) -> fazendoalgumacoisa ->11 (minhafunc-memo 1) ->11
5. Concat - Seq -Function (concatx ) (concatx y) (concatx y & zs) Retornauma lazy seqrepresentando a concatenação dos argumentos.Exemplos: (concat[1 2] [3 4]) Retorno: (1 2 3 4)