Let
Ställer in en variabel eller flera till resultatet av det angivna uttrycket eller uttrycken under beräkningens varaktighet, till dess att scriptet avslutas eller filen stängs.
Format
Let ( {[} var1 = uttryck1 {; var2 = uttryck2...]} ; beräkning )
Parametrar
var
– ett variabelnamn (mer information finns i Använda variabler).
uttryck
– ett beräkningsuttryck, ett fält eller en konstant.
beräkning
- ett beräkningsuttryck, ett fält eller en konstant.
Parametrar inom klamrar {} är valfria.
Returnerad datatyp
Text, numeriskt, datum, tid, tidsstämpel, container
Ursprungsversion
7.0
Beskrivning
Med funktionen Let kan du tilldela resultat av uttryck till variabler och returnera ett resultat som kan använda dessa variabler. Använd Let för att göra det enklare att läsa komplexa formler genom att minska behovet av att anropa funktioner från funktioner. Let kan även göra funktioner effektivare genom att spara resultatet från funktionsanrop i variabler för återanvändning i formeln och därigenom minska antalet upprepade funktionsanrop.
För att tilldela flera variabler i en Let-funktion använder du listsyntax med värden i [ ] och separerade av semikolon. För att göra det enklare att läsa flera variabler kan du placera varje variabel och den returnerade beräkningen på en separat rad, även om denna formatering inte krävs. Till exempel:
Let([
variabel = värde;
variabel2 = värde2
];
beräkning )
Funktionen Let anger variablerna från vänster till höger. Du kan använda tidigare definierade variabler (till exempel funktionsvariabler som tidigare definierats i funktionen Let eller lokala och globala variabler som du definierat med Scriptsteget Ange variabel) för att definiera nya variabelvärden.
Du kan även bädda in en Let-funktion i en annan. Om du använder en tidigare definierad funktionsvariabel i en inbäddad Let-funktion har funktionsvariabeln bara sin räckvidd inom den inbäddade funktionen (om du har definierat en helt unik variabel). Mer information finns i exempel 2 nedan.
Du kan referera till definierade variabler i vilken beräkning som helst inom deras räckvidd. Lokala variabler som definierats i en beräkning har filen som räckvidd men är bara tillgängliga när scriptet inte körs. Mer information finns i Använda variabler.
Exempel 1
Let( x = 5; x*x )
returnerar 25.
Let( [ x = 5; kvadrat= x*x; kubik = kvadrat*x ]; kubik )
returnerar 125.
Exempel 2
Den här exemplet returnerar San Francisco - Paris.
Let(
Ort = "Paris";
Let(
Ort = "San Francisco";
Ort & " - "
)
& Ort )
Exempel 3
Det här exemplet ger en lokal variabel den aktuella kontoåtkomstens behörighetsuppsättning som värde och returnerar variabelns innehåll. Om den här beräkningen används i ett script, är den lokala variabeln tillgänglig under scriptets varaktighet.
Let( $PRIVILEGE_SET = Get ( KontoBehörighetsuppsättning ) ; $PRIVILEGE_SET )
returnerar [Full Access] om den utvärderas av ett konto med behörighetsuppsättningen Full åtkomst.
Exempel 4
Det här exemplet ställer in en lokal variabel räknare
vid repetition 50
med ett värde på 120
:
Let( $räknare[50]=120 ; $räknare[50]*2 )
returnerar 240.
Exempel 5
Det här exemplet visar hur du överför namngivna parametrar med hjälp av funktionerna Evaluate, Let och Get ( Scriptparameter ) och bara ger tillgång till variabeln "a"
(exemplet returnerar 6 ) :
Scriptparameter = "a = 5; b = 10"
Evaluate (
"Let( ["
& Get ( Scriptparameter ) & "
];
a+1 )"
)
Exempel 6
Det här exemplet visar hur du överför namngivna parametrar och ger tillgång till både variabeln "a"
och variabeln "b"
. Den förenklade första parametern gör den andra parametern mer komplex (exemplet returnerar 6, 12):
Scriptparameter = "a = 5; b = 10"
Evaluate (
"Let( ["
& Get ( Scriptparameter ) & "
];
a+1 & \", \" & b+2)"
)
Exempel 7
Det här exemplet visar hur du överför namngivna parametrar, samtidigt som du behåller möjligheten att kontrollera syntaxen för den andra parametern i funktionen Let (exemplet returnerar 6, 12):
Scriptparameter = "a = 5; b = 10"
Let([
a = Evaluate (
"Let( ["
& Get ( Scriptparameter ) & "
];
a)"
),
b = Evaluate (
"Let( ["
& Get ( Scriptparameter ) & "
];
b)"
)
];
a+1 & ", " & b+2 )