EPIC4 Manual


bless

bless

Normalnie, jeżeli żądamy jakiejś informacji od servera, otrzymujemy ją z pewnym opóźnieniem - jest to normalne i oczywiste. Aczkolwiek w pewnych przypadkach powoduje to wielkie utrudnienia: np. gdy wewnątrz jakiegoś aliasa chcemy uzyskać jakieś dane od servera, nasz alias dawno zakończy swoje działanie, zanim server dostarczy nam żądane informacje. bless właśnie pozwala przedłużyć 'żywotność' aliasa, ONa, queue, timera lub wait o ten okres.

Najlepiej zobrazuje to taki przykład. Załóżmy, że chcemy zrobić sobie aliasa, który podaje nam user@host jakiegoś nicka (za pomocą polecenia userhost). Zobaczmy co się stanie, gdy zrobimy to bez użycia bless:


Załóżmy, że jest sobie jakiś Pikachu!pika@pokemons.net

alias getuh (nick) {
   wait for {
      userhost $nick -cmd {
          @ :uh = [$3@$4]
      }
   }
   return $uh
}

/eval echo *** $getuh(Pikachu)

Wynikiem będzie '*** '

Dlaczego się nie udało? Ponieważ alias $getuh() zakończył działanie zanim userhost dostarczył informacje. Dlatego konieczne jest prolongowanie żywotności naszego aliasa wewnątrz wywoływanego polecenia.


alias getuh (nick) {
   wait for {
      userhost $nick -cmd {
          bless
          @ :uh = [$3@$4]
      }
   }
   return $uh
}


/eval echo *** $getuh(Pikachu)

Wynikiem będzie już '*** pika@pokemons.net'

Nie rozumiesz przykładu? Zobacz: Aliasy, eval, return

bless w zasadzie używany jest głównie razem z wait. W takim przypadku możliwe jest wielokrotne używanie par wait i bless wewnątrz poprzedniej takiej pary - client będzie się starał dopadować odpowiednio output.

Zobacz także: wait, timer, queue, Wstęp do ONs



Lista Poleceń EpiC4 Home Następny Paragraf