parisse a écrit:Oui, time est une commande qui n'evalue pas son argument avant d'evaluer time. Elle est disponible dans tous les portages de Xcas, c'est ce qui me sert a faire des benchmarks.
Ok parfait.
parisse a écrit:On peut bien sur passer des fonctions en parametre a d'autres fonctions.
Oui, j'avais fini par essayer et ça avait fonctionné.
parisse a écrit:Pour acceder a la liste des arguments d'une fonction, on peut utiliser la commande args() (dans Xcas, je ne l'ai pas mise chez Casio pour le moment en tout cas).
Ah, je n'avais pas vu ça dans la doc
J'avais cherché "variadic" et "variadique" mais en fait
la page qui traite de ce sujet n'a pas ce mot la
Par contre, qu'est-ce qui n'est pas bon dans le code ci-dessous ? Ou plutot, comment faire ce que j'avais initialement en tete ? En gros forwarder des arguments a une autre fonction.
J'ai quelque chose de ce genre, mais le funccaller n'est probablement pas bon:
- Code: Tout sélectionner
def adder(a, b):
return a+b
def funccaller():
a = args
func_to_call = a[1]
func_to_call_args = tail(tail(a)) # get the rest of the args after funccaller (idx 0) and func_to_call (idx 1)
return func_to_call(func_to_call_args) # le problème c'est que au mieux, ca passe une liste à la fonction, ca, au lieu de unpack la liste... Non ?
funccaller(adder, 1, 1) # <- je veux avoir 2 comme résultat