JLABS

VaxNt/ProDB.PGuide.Mustr

Programátorská příručka.Mustr

Bullet Přiřazení je základní obrat na definici hodnoty proměnné. Existuje řada variant, z nichž vystačíme zejména s následujícími. Uvědomme si, že proměnné jsou vlastně složky TStringListu a uvnitř se na ně interpreter odkazuje jako na Context.Values['Promenna']. Z toho také plyne, že běžné proměnné nemají case sensitivní jména.



    Funkce                  ArgList           Popis
    -------------------------------------------------------------------------------------------------------------
    set                     N,V,N,V,...       do proměnné N dosadí hodnotu V a tak prochází postupně všechny
                                              dvojice argumentů. N jsou jména proměnných v aktuálním kontextu a
                                              V literály, ale i hodnoty získané dolarovou notací z jiných proměnných.
    set.trim                N,V,N,V,...       dtto, ale trimuje dosazované hodnoty
    setv                    N,M,N,M,...       kopíruje zase po dvojicích systematicky hodnoty, vždy do N dosadí
                                              aktuální hodnotu M. Celý arglist může být zase prefixován vykřičníky
                                              a je tedy možno používat i dosti složitou indirekci
    context.set             N=V               varianta překonávající potíž s tím, že čárka je oddělovač, zde funguje
                                              jako set, ale odělovačem argumentů je rovnítko a druhý argument je
                                              jednoduše celý zbytek řádku ...
    _set                                      alias pro context.set
    clear                                     vyprázdní všechny proměnné příkazem Context.Clear ...
    clear.more              N,N,...           vyprázdní pouze vyjmenované proměnné příkazem Context.Values['N']:=''
    _clear                                    alias pro clear.more
    -------------------------------------------------------------------------------------------------------------

    Poznámky:

        1.Díky dolarové notaci je možno používat i hodně divokou indirekci. Například "set !$(A),$(C)\n$(Q) znamená:

            vezmi hodnotu proměnné A
            chápej ji jako jméno proměnné
            do této proměnné dosaď konkatenovanou a řádkem oddělenou hodnotu proměnných C a Q

        2.Hodnoty proměnných mohou obsahovat CRLF - ty jsou zakódovány pomocí \n.

        3.Příkaz setv A,B je vlastně nahraditelný dvojící:

            push A
            pop  B

        4.Díky iteraci přes dlouhý arglist je možno na jednom řádku schovat velké množství akcí. Navíc je
        díky vyhodnocení zleva doprava možno v následných přiřazeních už ta, která proběhla právě před chvilkou.


   Příklady:

       set    Prijmeni,Nowak,Jmeno,Aloys,Titul,Ing.
       set    Dneska,$(Today)
       set    !Pacient, $(Jmeno) $(Prijmeni)
       set    !$(Zavod).Suma,$(X)
       setv   A,Abylo,B,Bbylo,...
       set    A,,B,,C,0,
       set    Ted,$(DateTime)$(Random),Kdo,$(User),

BulletRejstřík kapitoly
BulletNadřízená kapitola dokumentace / rejstřík


JLABS Aktualizováno dne 20000704. Komentář: info@jlabs.cz