2010-11-21 12 views
0

Je veux auto-modifier une fonction une fois qu'il s'est exécuté lui-même (contexte est l'exécution à distance dans un environnement d'exécution virtuel qui partage un bloc de code qui simule pile de fonctions (parce que cette pile est partagée, je veux tout réinitialiser chaque fois pour le prochain appel de commande) voir http://askblogautomation.com/developers-guide/) comme celui-ci par exemple (pour le contexte complet, voir http://askblogautomation.com/install-wordpress/):Auto-auto modification fonction dans l'environnement d'exécution virtuel dans Rebol

install-wordpress 
set 'install-wordpress func[][do read http://askblogautomation.com/install-wordpress/] 

Je veux genericize les lignes ci-dessus avec

execute 'install-wordpress 

Où exécuter est comme ci-dessous

execute: func[lit-word-command [lit-word!]][ 
    do get lit-word-command 
    block-command: [] 
    append block-command [do read] 
    append block-command to-url rejoin [http://askblogautomation.com/ lit-word-command] 
    set lit-word-command func[] block-command 
] 

Mais quand je l'ai essayé, il donne l'erreur:

** Script Error: execute expected lit-word-command argument of type: lit-word

Comment résoudre ce problème?

Répondre

2

Modifiez la ligne invocateur:

execute to-lit-word 'install-wordpress 

Ou changer la spécification de la fonction:

execute: func[lit-word-command [word!]][ 

mais pas les deux!

+0

Merci, je suis trop confus entre les mots! et mot-éclairé! :) –