<?xml version="1.0" encoding="UTF-8" ?> <sect1 id="specials"> <sect1info> <title>Erid ja sisseehitatud globaalsed muutujad</title> </sect1info> <title>Erid ja sisseehitatud globaalsed muutujad</title> <para>Erid on &kommander;i töödeldavad funktsioonid. Tuleks arvestada, et &kommander;i vana parsija kasutamisel käivitatakse esmalt kõik &kommander;i erid ja alles seejärel skript. Enamasti ei kujuta see endast probleemi, kuid igatahese tasuks see kõrva taha panna. </para> <note><para>Alltoodud nimekiri on mõnevõrra aegunud. Saadaolevate funktsioonide kohta teabe hankimiseks on soovitatav kasutada <guilabel>funktsioonibrauserit</guilabel>. <guilabel>Funktsioonibrauseri</guilabel> saab avada <guilabel>Kommanderi tekst</guilabel>iredaktoris, klõpsates nupule <guilabel>Funktsioon...</guilabel> </para> </note> <variablelist> <varlistentry> <term><function>@dcop(<parameter>appId</parameter>, <parameter>objekt</parameter>, <parameter>funktion</parameter>, <parameter>argumendid</parameter>)</function></term> <listitem> <para>Sooritab &DCOP; väljakutse. @dcop(<quote>kmail</quote>, <quote>KMailIface</quote>, <quote>checkMail()</quote>, <quote></quote>) </para> </listitem> </varlistentry> <varlistentry> <term><function>@dcopid</function></term> <listitem> <para>Protsessi &DCOP; ID. (kmdr-executor-@pid) </para> </listitem> </varlistentry> <varlistentry> <term><function>@dialog(<parameter>dialoog</parameter>[,<parameter>parameetrid</parameter>])</function></term> <listitem> <para>Käivitab määratud Kommanderi dialoogi. Seda otsitakse esmalt dialoogi ja seejärel aktiivses kataloogis. Sellega kutsutakse välja Executor ning määratakse vaikekataloogiks Kommanderi rakenduse kataloog. Parameetreid võib edastada UNIX-i tavapärasel viisil või siis anda nimega parameetrid, näiteks <quote>muutuja=väärtus</quote>. Edastatud parameetrid leiab seejärel globaalsest puhvrist. @global(muutuja) tagastab <quote>väärtuse</quote>. </para> </listitem> </varlistentry> <varlistentry> <term><function>@env(<parameter>keskkonnaMuutuja</parameter>)</function></term> <listitem> <para>Kasutab määratud keskkonnamuutujat. @enc(PWD) näiteks kasutab $PWD. Arvesta, et <quote>$</quote> kuulub shelli ja seda ei tohi siin pruukida. </para> </listitem> </varlistentry> <varlistentry> <term><function>@exec(<parameter>käsk</parameter>)</function></term> <listitem> <para>Tagastab määratud käsu käivitamise väljundi. @exec(ls -l) </para> </listitem> </varlistentry> <varlistentry> <term><function>@execBegin ... @execEnd</function></term> <listitem> <para>Sama, mis <function>@exec</function>, kuid toetab ka mitmerealisi skripte. See on mõistlik mitmete skriptikeelte puhul. </para> <itemizedlist> <listitem><para><function>@execBegin(php)</function></para></listitem> <listitem><para><function>@execBegin</function>(#!/usr/bin/php)</para></listitem> </itemizedlist> <para>Esimene kasutab <acronym>PHP</acronym> käivitatava faili nime. &kommander; otsib otsinguteelt (PATH) <application>php</application>-d ja kui ei leia, uurib, ega see pole &kommander;is määratud asuma kuskil mujal kui sinu otsinguteel. Kui mitte, siis antakse kasutajale teada, et seda ei leitud. Teine võimalus kasutab tavapärast <quote>kupatust</quote> (shebang), millel on omad plussid, kuid ka omad miinused. Kui sul on näiteks <acronym>PHP5</acronym> koopia asukohas <filename>/usr/local/bin</filename>, siis seda ei leita, sest otsitakse ainult asukohast <filename>/usr/bin</filename>. Seepärast on <quote>kupatuse</quote> kasutamine kahe otsaga asi ning eriti juhul, kui sa faile ja dialooge ka teistega jagada soovid, ei oleks seda mõttekas kasutada.</para> </listitem> </varlistentry> <varlistentry> <term><function>@global(<parameter>muutuja</parameter>)</function></term> <listitem> <para>Kasutab määratud globaalse muutuja väärtust. </para> </listitem> </varlistentry> <varlistentry> <term><function>@null</function></term> <listitem> <para>Tagastab nulli. Kui näiteks Kommander kontrollib käivitamisel tühja widgetText'i, väldib see vigu.</para> </listitem> </varlistentry> <varlistentry> <term><function>@parentPid</function></term> <listitem> <para>Eellasprotsessi &PID;. </para> </listitem> </varlistentry> <varlistentry> <term><function>@pid</function></term> <listitem> <para>Protsessi &PID;. </para> </listitem> </varlistentry> <varlistentry> <term><function>@readSetting(<parameter>võti</parameter>, <parameter>vaikeVäärtus</parameter>)</function></term> <listitem> <para>loeb väärtuse failist <filename>kommanderrc</filename>. Vaata ka @writeSetting. </para> </listitem> </varlistentry> <varlistentry> <term><function>@selectedWidgetText</function></term> <listitem> <para>Vidina valitud sisu, mis võib näidata enam kui üht väärtust, näiteks vidinate loendit. </para> </listitem> </varlistentry> <varlistentry> <term><function>@setGlobal(<parameter>muutuja</parameter>, <parameter>väärtus</parameter>)</function></term> <listitem> <para>Määrab globaalsele muutujale antud väärtuse. </para> </listitem> </varlistentry> <varlistentry> <term><function>@widgetText</function></term> <listitem> <para>Vidina sisu. </para> </listitem> </varlistentry> <varlistentry> <term><function>@writeSetting(<parameter>võti</parameter>, <parameter>väärtus</parameter>)</function></term> <listitem> <para>kirjutab väärtuse faili <filename>kommanderrc</filename>. Kõik &kommander;i dialoogid kasutavad faili kommanderrc, igal dialoogil on selles oma lõik. </para> </listitem> </varlistentry> </variablelist> <sect2 id="arrays"> <title>Massiivifunktsioonide grupp</title> <variablelist> <varlistentry> <term><function>@Array.values(<parameter>massiiv</parameter>)</function></term> <listitem> <para>Tagastab massiivi kõigi väärtuste reavahetusmärkidega eraldatud loendi. Kasulik näiteks massiiviga tutvumisel.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.keys(<parameter>massiiv</parameter>)</function></term> <listitem> <para>Tagastab massiivi kõigi võtmete reavahetusmärkidega eraldatud loendi.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.setValue(<parameter>massiiv</parameter>, <parameter>võti</parameter>, <parameter>väärtus</parameter>)</function></term> <listitem> <para>Määrab massiivi elemendile võtme ja väärtuse. Kui massiivi ei ole, see luuakse.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.clear(<parameter>massiiv</parameter>)</function></term> <listitem> <para>Eemaldab kõik elemendid massiivist.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.count(<parameter>massiiv</parameter>)</function></term> <listitem> <para>Tagastab massiivi elementide arvu.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.value(<parameter>massiiv</parameter>,<parameter>võti</parameter>)</function></term> <listitem> <para>Tagastab antud võtmega seostatud väärtuse.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.remove(<parameter>massiiv</parameter>,<parameter>võti</parameter>)</function></term> <listitem> <para>Eemaldab antud võtmega elemendi massiivist.</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.fromString(<parameter>massiiv</parameter>,<parameter>string</parameter>)</function></term> <listitem> <para>Lisab stringi kõik elemendid massiivi. String peab olema kujul <emphasis>võti\tväärtus\n</emphasis>."</para> </listitem> </varlistentry> <varlistentry> <term><function>@Array.toString(<parameter>massiiv</parameter>,<parameter>string</parameter>)</function></term> <listitem> <para>"Tagastab massiivi kõik elemendid kujul <emphasis>võti\tväärtus\n</emphasis>."</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="files"> <title>Failifunktsioonide grupp</title> <variablelist> <varlistentry> <term><function>@File.read(<parameter>fail</parameter>)</function></term> <listitem> <para>Tagastab antud faili sisu.</para> </listitem> </varlistentry> <varlistentry> <term><function>@File.write(<parameter>fail</parameter><parameter>string</parameter>)</function></term> <listitem> <para>Salvestab antud stringi faili.</para> </listitem> </varlistentry> <varlistentry> <term><function>@File.append(<parameter>fail</parameter><parameter>string</parameter>)</function></term> <listitem> <para>Lisab antud stringi faili lõppu.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="strings"> <title>Stringifunktsioonide grupp</title> <variablelist> <varlistentry> <term><function>@String.length(<parameter>string</parameter>)</function></term> <listitem> <para>Tagastab sümbolite arvu stringis.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.contains(<parameter>string</parameter>,<parameter>alamstring</parameter>)</function></term> <listitem> <para>Kontrollib, kas string sisaldab antud alamstringi.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.find(<parameter>string</parameter>)</function></term> <listitem> <para>Tagastab alamstringi asukoha stringis või -1, kui seda ei leita."</para> <note><para>Järgmises versioonis saab sellele lisada ka täisarvu, mis tähistab järgmise otsingu alguskohta.</para></note> </listitem> </varlistentry> <varlistentry> <term><function>@String.left(<parameter>string</parameter>, <parameter>täisarv</parameter>)</function></term> <listitem> <para>Tagastab stringi esimesed n sümbolit.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.right(<parameter>string</parameter>, <parameter>täisarv</parameter>)</function></term> <listitem> <para>Tagastab stringi viimased n sümbolit.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.mid(<parameter>string</parameter>, <parameter>täisarv start</parameter>, <parameter>täisarv end</parameter>)</function></term> <listitem> <para>Tagastab stringi alamstringi alates antud asukohast.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.remove(<parameter>string</parameter>, <parameter>alamstring</parameter>)</function></term> <listitem> <para>Eemaldab kõik antud alamstringid.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.replace(<parameter>string</parameter>, <parameter>alamstring find</parameter>, <parameter>alamstring replace</parameter>)</function></term> <listitem> <para>Asendab kõik antud alamstringid antud asendusega.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.upper(<parameter>string</parameter>)</function></term> <listitem> <para>Muudab stringi suurtäheliseks.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.lower(<parameter>string</parameter>)</function></term> <listitem> <para>Muudab stringi väiketäheliseks.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.compare(<parameter>string</parameter>, <parameter>string</parameter>)</function></term> <listitem> <para>Võrdleb kaht stringi. Tagastab 0, kui need on võrdsed, -1, kui esimene on madalam ja 1, kui esimene on kõrgem.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.isEmpty(<parameter>string</parameter>)</function></term> <listitem> <para>Kontrollib, kas string on tühi.</para> </listitem> </varlistentry> <varlistentry> <term><function>@String.isNumber(<parameter>string</parameter>)</function></term> <listitem> <para>Kontrollib, kas string on kehtiv arv.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2 id="builtins"> <title>Sisseehitatud globaalsed muutujad</title> <para>Sisseehitatud globaalseid muutujaid saab kasutada nagu tavalisi globaalseid muutujaid, andes nende ees <function>@global</function>.</para> <variablelist> <varlistentry> <term><function>@global(_KDDIR)</function></term> <listitem> <para>Aktiivse dialoogi kataloog.</para> </listitem> </varlistentry> <varlistentry> <term><function>@global(_NIMI)</function></term> <listitem><para>Dialoogi nimi.</para></listitem> </varlistentry> </variablelist> </sect2> </sect1>