Skip to: Site menu | Main content

Autor

Chłopak z Bałut (Dołów), po uniwerku i stypendium. Wiecznie zestresowane, przemądrzałe bezguście. Więcej na stronie domowej.

Jeszcze raz o properties

Stare

Dzisiaj dokończyłem properties. Wczorajszą wersję usprawniłem o możliwość wykorzystywania faktycznych wartości argumentów formalnych. Aby móc przytoczyć przykład, muszę najpierw wkleić tutaj zawartość template'a:
    From: "$address.name" <$address.email>
    To: $to
    Subject: $subject

    $quote
    $=$mail.quoted
    $signature

Jak widać na załączonym obrazku template zawiera pewne properties, które zostaną zastąpione swoimi wartościami obliczonymi w trakcie generowania listu. Aby spersonalizować nagłówek listu trzeba zmienić wartość $quote na przykład w ten sposób:

    property quote (action
                    mail.from.abook
                    mail.from.foreign 
                    mail.from.sex
                    mail.from.name){
      'reply' 'yes' 'no' 'F' => "%e napisała:"
      'reply' 'yes' 'no' 'M' => "%e napisał:"
      'reply'                => "%e wrote:"
      ''                     => ""
    }

Najpierw zaznaczamy, że action musi być 'reply', czyli że interesują nas tylko odpowiedzi na listy. W drugiej kolejności interesujemy się polami foreign i sex autora listu, na który odpowiadamy. Wśród argumentów tego property umieszczamy jeszcze mail.from.name, aby móc się odwołać do jego wartości. Gdybyśmy w wartości po prawej stronie strzałki umieścili gdzieś %a to podstawiony by tam był pierwszy argument, za %b drugi, itd. Ja zastosowałem %e, czyli piąty argument - mail.from.name.

Jeszcze kilka słów o samym szablonie wiadomości. $= to pozycja kursora. W trakcie generowania listu obliczane jest przesunięcie od początku pliku, oraz numer wiersza i kolumny, które można wykorzystać w zmiennej editor np w ten sposób:

    set editor "emacsclient +%l %f"

Dodam jeszcze tylko, że template to też property.

28 marca 2004, 14:35:50

Komentarze

Treść komentarza można formatować zgodnie ze składnią Textile.
Odpowiedzi śledzić można przy pomocy RSS RSS .