Ok ho risolto posto il codice ora funzionante in caso possa essere utile a qualcuno.
E cosi' magari gli date un occhiata e mi dite se e' realizzato in maniera decente o se c'e' un modo migliore per realizzarlo.
ciao a tutti
Codice PHP:
<html>
<head>
<script type="text/javascript">
<!--
/*
Autore: Davide
Testo dell'esercizio:
Scrivere uno script che, usando il costruttore Function(), crei delle funzioni dinamicamente.
Lo script deve chiedere all'utente il numero di parametri della funzione, il nome dei
parametri ed il corpo della funzione. Dopo aver creato la funzione, lo script deve chiedere
all'utente di dare in input dei valori per i parametri della funzione appena creata e deve restituire
in output il suo valore. (Come corpo della funzione, usate solo funzioni semplici tipo "x+y", "x*y+z", ...)
*/
document.write("Prova con oggetto function
");
//Aquisisco il numero e il nome delle variabili
nvar=prompt("numero variabili");
nomevar="0";
while(nvar>0)
{
if(nomevar=="0")nomevar="\""+prompt("Nome della variabile")+"\"";
else nomevar=nomevar+",\""+prompt("Nome della variabile")+"\"";
nvar--;
}
//Aquisisco il corpo della funzione quello che deve fare
corpo=prompt("Corpo della funzione");
corpo="return("+corpo+")";
//Creo la funzione
appoggio="var funpro=new Function("+nomevar+","+"\""+corpo+"\""+")";
eval(appoggio);
//Salvo le variabili ogniuna in una posizione in un array e calcolo il numero di variabili
var varia=nomevar.split(",");
var i=varia.length;
var appo="0";
var j=0;
//Ciclo dove aquisisco il valore delle variabili
while(j<i)
{
if(appo=="0")appo=prompt("valore "+varia[j]);
else appo=appo+","+prompt("valore "+varia[j]);
j++;
}
//Qui eseguo la funzione passandogli i parametri aquistiti e stampo il risultato...
appo="funpro("+appo+")";
document.write(eval(appo));
// -->
</script>
</head>
<body></body>
</html>