Qualcuno potrebbe darmi qualche intuizione sulle differenze tra colla e if in jmp? Ero così confuso.
Molte grazie!
Grazie mille Jeff! La tua risposta mi dà un quadro chiaro di come utilizzare JMP in futuro!
Grazie mille Jim! È così utile per me!
Colla() E Se() sono – quasi – completamente indipendenti, quindi è difficile confrontarli.
Colla
In tutta onestà, puoi ignorare Glue() ed essere un programmatore JSL di grande successo.Quindi, se questo ti confonde, non preoccuparti.
JSL è un linguaggio funzionale. Cioè, tutto (più o meno) in JSL è una funzione. Alcune funzioni di JMP dispongono di moduli operatore.
Ad esempio, la funzione per assegnare un valore a una variabile è Assegna(a, b) , che assegna il valore di b in a.Esiste una forma operatore che utilizza un segno =:
a=b
La funzione che mette insieme le espressioni in qualcosa che può essere valutato è Glue(), come in:
Glue(Assign(a,b), Add(c,d))
La forma dell'operatore di Glue() è un punto e virgola (;), quanto segue è l'equivalente di quanto sopra:
Assign(a,b);
Add(c, d)
Se
In qualsiasi linguaggio di programmazione sono necessari costrutti per prendere decisioni. In JSL, come in altri linguaggi, lo sono funzioni condizionali .
If() accetta almeno tre argomenti:
- un condizionale
- risultato vero
- altrimenti risultato
Trovo che sia più semplice comprendere If() osservando il suo prototipo nell'editor delle formule.

Notare la prima "espr" lì. Questa è la condizione da verificare ed è il primo argomento. Il secondo argomento, la "clausola then", è l'espressione che deve essere valutata se la condizione è vera. Il terzo argomento è la "clausola else", l'espressione da valutare se la condizione non è vera.
Al di fuori dell'editor delle formule questo appare così:
If( a == "some value",
Show( "True" ),
Show( "False" )
);
Quindi, questo verifica la condizione che a è uguale a "qualche valore" e mostra "Vero" se lo è e "Falso" se non lo è.
Ciascuna clausola può contenere più istruzioni, separate da punto e virgola (;).
Spero che questo aiuti a chiarire un po' di confusione.
Se hai altre domande, faccelo sapere.
Una funzione "If()" ha la struttura di:
If( condition,
run this if the condition is true
,
run this if the condition is false
)
Un esempio potrebbe essere
If( :sex == "F",
Show("This is a Female")
,
Show("This is a Male")
)
Ora, dove entra in gioco un carattere "Incolla", è se nelle sezioni vero o falso è necessario eseguire più di un'istruzione, le istruzioni devono essere "incollate" insieme per mostrare che la sezione vero o falso costituisce un elemento completo .Quindi, se entrambi: Show("Questa è una femmina") e Gender = "Female" devono essere eseguiti, è necessario "Incollare" le istruzioni insieme
If( :sex == "F",
Show("This is a Female");
Gender = "Female"
,
Show("This is a Male")
)