Specialvärden och inbyggda globala variabler

# Specialvärden och inbyggda globala variabler

Specialvärden är funktioner som behandlas av &kommander;. Du bör vara medveten om att när den gamla tolken används, utförs alla &kommander; specialvärden först och därefter körs skriptet. I det flesta fall är det inte något problem, men i några enstaka fall (särskilt i snurror och villkor) kan det vara det.

Listan nedan kan vara något föråldrad. Du rekommenderas att använda funktionsbläddraren för att få hjälp om tillgängliga funktioner. Funktionsbläddraren kan nås inne i editorn Kommander Text, genom att klicka på knappen Funktion....

`@dcop(pgmId, objekt, funktion, argument)`

  Gör ett &DCOP;-anrop, @dcop(kmail, KMailIface, checkMail(), )

`@dcopid`

  &DCOP;-id för processen (kmdr-executor-@pid)

`@dialog(dialogruta[,parametrar])`

  Startar angiven Kommander dialogruta. Dialogrutan letas efter i katalogen med dialogrutor och i arbetskatalogen, i den ordningen. Det här lägger till anropet till Executor i början och ändrar standardkatalog till den som Kommander programmet finns i. Parametrar kan skickas som vanligt i Unix, eller så kan namngivna parametrar som variabel=värde skickas. Därefter hittar du skickade parametrar i den globala uppsättningen. @global(variabel) skulle returnera värde.

`@env(miljövariabel)`

  Ersätts med den angivna miljövariabeln. @env(PWD) ersätts med $PWD. Kom ihåg att $ ingår i skalet, och ska inte användas.

`@exec(kommando)`

  Returnerar utmatningen från körningen av det angivna kommandot. @exec(ls -l).

`@execBegin ... @execEnd`

  Samma som `@exec`, men stöder inledning med "#!" och skript med flera rader. Det fungerar med diverse skriptspråk antingen genom att deklarera dem eller genom att använda "#!".

  - `@execBegin(php)`

  - `@execBegin`(#!/usr/bin/php)

  Det första exemplet använder namnet på det körbara programmet PHP. &kommander; söker i PATH efter php och om det inte hittas kontrollerar om det är registrerat i &kommander; på en plats som inte finns i sökvägen. Om inte får användaren reda på att det inte kan hittas. Det andra exemplet använder den klassiska inledningen !#, som både kan ha fördelar men också problem. Om du till exempel har en betaversion av PHP5 i `/usr/local/bin` hittas den inte eftersom en annan hittas i `/usr/bin`, är det användbart. Om du dock distribuerar dialogrutan till någon som bara har PHP i `/usr/local/bin` hittas den inte med inledningen som används. Alltså varnas för att använda en inledning, och det rekommenderas att använda det körbara namnet om du delar filer.

`@global(variabel)`

  Ersätts med värdet på den angivna globala variabeln.

`@null`

  Returnerar null. Nu när Kommander kontrollerar om widgetText är tom vid körning, förhindrar detta felaktiga fel med fallet då en grafisk komponent har ett tillstånd som inte är angivet.

`@parentPid`

  Process-id för överliggande process.

`@pid`

  Process-id för processen.

`@readSetting(nyckel, förvalt värde)`

  Läser ett värde från `kommanderrc`. Se också @writeSetting.

`@selectedWidgetText`

  Det markerade innehållet i en grafisk komponent som kan visa mer än ett värde, som listkomponenter.

`@setGlobal(variabel, värde)`

  Tilldelar den globala variabeln det angivna värdet.

`@widgetText`

  Innehållet i en grafisk komponent.

`@writeSetting(nyckel, värde)`

  Skriv värde till `kommanderrc`. Alla &kommander;-dialogrutor delar samma kommanderrc-fil, och var och en har sin egen sektion i den.

## Fältfunktionsgruppen

`@Array.values(fält)`

  Returnerar en lista åtskild med nyrader med alla värden i fältet. Kan användas för att gå igenom ett fält.

`@Array.keys(fält)`

  Returnerar en lista med alla nycklar i fältet åtskilda med nyrader.

`@Array.setValue(fält, nyckel, värde)`

  Anger en nyckel och värde för ett element i ett fält. Om fältet inte finns, skapas det.

`@Array.clear(fält)`

  Ta bort alla element från fältet.

`@Array.count(fält)`

  Returnera antal element i fältet.

`@Array.value(fält,nyckel)`

  Returnera värdet som hör ihop med den givna nyckeln.

`@Array.remove(fält,nyckel)`

  Ta bort elementet med den givna nyckeln från fältet.

`@Array.fromString(fält,sträng)`

  Lägger till alla element i strängen till fältet. Strängen ska har formatet nyckel\tvärde\n.

`@Array.toString(fält,sträng)`

  Returnerar alla element i fältet på formatet nyckel\tvärde\n.

## Filfunktionsgruppen

`@File.read(fil)`

  Returnera innehållet i den givna filen.

`@File.write(fil,sträng)`

  Skriv given sträng till en fil.

`@File.append(fil,sträng)`

  Skriv given sträng i slutet på en fil.

## Strängfunktionsgruppen

`@String.length(sträng)`

  Returnera antalet tecken i strängen.

`@String.contains(sträng,delsträng)`

  Kontrollera om strängen innehåller en given delsträng.

`@String.find(sträng)`

  Returnera en delsträngs position i strängen, eller -1 om den inte hittas.

  Det här kommer att ha ett valfritt heltal med startposition, för användning för att söka igen i version alfa 6.

`@String.left(sträng, heltal)`

  Returnerar de första n tecknen i strängen.

`@String.right(sträng, heltal)`

  Returnerar de sista n tecknen i strängen.

`@String.mid(sträng, heltal start, heltal slut)`

  Returnerar en delsträng av strängen, med början på angiven position.

`@String.remove(sträng, delsträng)`

  Ta bort alla förekomster av en given delsträng.

`@String.replace(sträng, delsträng sök, delsträng ersätt)`

  Ersätt alla förekomster av en given delsträng med en given ersättning.

`@String.upper(sträng)`

  Konvertera strängen till stora bokstäver.

`@String.lower(sträng)`

  Konvertera strängen till små bokstäver.

`@String.compare(sträng, sträng)`

  Jämför två strängar. Returnera 0 om de är lika, -1 om den första är tidigare, 1 om den första är senare.

`@String.isEmpty(sträng)`

  Kontrollera om strängen är tom.

`@String.isNumber(sträng)`

  Kontrollera om strängen är ett giltigt tal.

## Inbyggda globala variabler

Inbyggda globala variabler kan kommas åt precis som vanliga globala variabler med `@global`.

`@global(_KDDIR)`

  Katalogen den nuvarande dialogrutan är i.

`@global(_NAME)`

  Dialogrutans namn