Currying e aplicação parcial lidam com parâmetros de funções e podem aplicar parcialmente seus argumentos. Por isso, é comum uma certa confusão sobre esses conceitos. Assinale a alternativa correta acerca da diferença entre currying e aplicação parcial.

Questão

Currying e aplicação parcial lidam com parâmetros de funções e podem aplicar parcialmente seus argumentos. Por isso, é comum uma certa confusão sobre esses conceitos. Assinale a alternativa correta acerca da diferença entre currying e aplicação parcial.

Alternativas

a) Um currying, diferentemente da aplicação parcial, não vai continuar retornando funções unárias.

b) É possível aplicar currying sobre uma função que não tenha um valor fixo de argumentos.

78%

c) Na aplicação parcial, não é possível realizar a chamada de um método sem informar todos os parâmetros.

d) Aplicação parcial é só uma forma de lidar com assincronismo em programação funcional de forma sequencial.

e) As aplicações parciais não se importam com o número de argumentos.

Explicação

Currying é a transformação de uma função que recebe vários argumentos (por exemplo, f(a,b,c)f(a,b,c)) em uma sequência de funções unárias (uma por vez), do tipo f(a)(b)(c)f(a)(b)(c). Já aplicação parcial é quando você pega uma função (curried ou não) e fixa alguns argumentos, produzindo uma nova função que espera o restante.

Analisando as alternativas:

  • a) Incorreta. Currying justamente retorna uma cadeia de funções unárias (uma por argumento). Isso é uma característica central do currying.

  • b) Correta. O currying pode ser entendido como uma técnica que permite ir “consumindo” argumentos um a um, sem depender, necessariamente, de uma aridade (quantidade de parâmetros) fixa no sentido tradicional. Em vários contextos (ex.: funções variádicas com coleta de argumentos), ainda é possível estruturar um processo “curried” que vai recebendo argumentos incrementalmente e retornando funções até que uma condição de parada seja atingida.

  • c) Incorreta. Na aplicação parcial, é possível chamar uma função sem informar todos os parâmetros, pois parte deles é pré-fixada, e o resultado é outra função aguardando os restantes.

  • d) Incorreta. Aplicação parcial não é “só” uma forma de lidar com assincronismo; é um conceito geral de manipulação de argumentos.

  • e) Incorreta. Aplicação parcial se importa com o número de argumentos porque ela fixa alguns e deixa outros pendentes; isso pressupõe alguma noção de quantos/ quais argumentos ainda faltam (mesmo que a linguagem suporte variádicos, o mecanismo de parcial ainda é sobre “fixar um subconjunto”).

Alternativa correta: (b).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.