Argomenti facoltativi nelle funzioniCiao gente,
Ho appena iniziato a utilizzare JMP dopo aver trascorso quasi 10 anni utilizzando IDL,
quindi passaggio da esperto a principiante.
Per lo più sono in procinto di imparare il linguaggio di scripting in questo momento.
Spero che mi perdonerete per la domanda stupida occasionale
Quindi inizierò con una semplice domanda:
Qual è il modo migliore per utilizzare argomenti facoltativi nelle funzioni?
Quando eseguo gli script si lamentano se utilizzo meno del numero
di argomenti specificati nell'elenco degli argomenti della funzione.
Si potrebbero invece utilizzare array associativi come input,
e contengono chiavi opzionali, ma ciò richiede che l'utente lo faccia
crearne uno ogni volta che viene chiamata la funzione, il che sembra un po'
ingombrante....
Grazie!
Paolo Grigis
ABB Svizzera
Argomenti facoltativi nelle funzioniHi Paolo
Probabilmente otterrai risposte più utili se puoi fornire alcuni esempi del tipo di funzioni che stai utilizzando.
In genere le funzioni richiedono argomenti che devono essere analizzati in un ordine specifico, ma esistono argomenti opzionali aggiuntivi, spesso specificati da parole chiave, che possono essere specificati in qualsiasi posizione e omessi se non richiesti.
Per quanto ne so, non è possibile analizzare gli argomenti come un elenco, devono essere specificati individualmente, tranne ovviamente quando l'elemento dell'argomento è esso stesso un elenco. Tuttavia, esiste una funzione JSL chiamata FUNCTION che consente di creare funzioni definite dall'utente. Utilizzo spesso questa funzionalità per "racchiudere" una funzione JSL esistente in modo da avere un maggiore controllo sugli argomenti di input.
Saluti,
Dave
Argomenti facoltativi nelle funzioniPaolo
Se crei una funzione definita dall'utente, hai la possibilità di specificare valori predefiniti per gli argomenti. Se vengono specificati valori predefiniti, gli argomenti diventano facoltativi.
Quindi nell'esempio seguente il terzo argomento è facoltativo e per impostazione predefinita è mancante (indicato da un punto in JSL)
La mia funzione = Funzione( {a,b,c=.}, {Locale predefinito},
mostra(Manca(c));
mostra(a,b,c)
);
La mia funzione( 1, 2 )
Saluti,
Dave