[Jacek Śliwerski]
(rzyjontko)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
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