Récemment, j'ai été l'apprentissage de Lua et j'aime la façon dont il est facile d'écrire une fonction qui retourne une fonction. Je sais que c'est assez facile en Perl, mais je ne pense pas que je peux le faire en C sans quelque chagrin d'amour. Comment écrivez-vous un générateur de fonction dans votre langue préférée?
De sorte qu'il est plus facile de comparer une langue à l'autre, s'il vous plaît écrire une fonction qui génère une formule quadratique:
f(x) = ax^2 + bx + c
Votre fonction doit prendre trois valeurs (a
, b
, et c
) et les retours f
. Pour tester la fonction, montrer comment générer de la formule quadratique:
f(x) = x^2 - 79x + 1601
De montrer ensuite comment calculer le f(42)
. Je vais poster mon Lua résultat comme une réponse pour un exemple.
Quelques exigences supplémentaires qui en est ressorti:
Tout d'
a
,b
,c
,x
, etf(x)
doivent être des nombres à virgule flottante.-
Le générateur de fonction doit être réentrant. Cela signifie qu'il devrait être possible de générer:
g(x) = x^2 + x + 41
Et puis utiliser les deux
f(x)
etg(x)
dans le même champ d'application.
La plupart des réponses sont déjà conformes à ces exigences. Si vous voyez une réponse qui n'a pas, n'hésitez pas à corriger ou remarque le problème dans un commentaire.