🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.tcl
Article #18

Re: Optymalizacja

#18
From: Derek Kuliński / takeda
Date: Tue, 31 May 2005 17:53
48 lines
2907 bytes
On Tue, 31 May 2005 11:44:21 +0200, Googie wrote:

> Mnie się udało sprowadzić to do takiej postaci: (nie testowałem czy działa -
> nie mam na stanie żadnych botów).
> Generalnie "optymalizacja" sprowadza się do krótszego zapisu powtarzającego
> się kodu (a więc to co Ci się nie podobało :) ). Oprócz tego wyrzuciłem z
> pętli sprawdzanie 'if {$modes == ""} {.......}', bo i tak można ustawiać "+"
> lub "-" na wstępie oraz przy "resetowaniu" wartości modes.
> 
> proc combine_modes {dchan add_r rm_r} {
>  set maxlen ${::modes-per-line}
>  set chan [chandname2name $dchan]
> 
>  set output [list]
>  set masks [list]
> 
>  #removing invalid +R
> 
>  foreach {varName sig} {
>   rm_r "-"
>   add_r "+"
>  } {
>   set modes $sig
>   foreach mask [set $varName] {
>    append modes "R"; lappend masks $mask
>    if {[llength $masks] >= $maxlen} {
>     lappend output "MODE $chan $modes [join $masks]"
>     set modes $sig; set masks [list]
>    }
>   }
>  }
> 
>  if {[llength $masks] > 0} {
>   lappend output "MODE $chan $modes [join $masks]"
>  }
> 
>  return $output
> }

No nieźle, namieszałeś tak, że teraz nawet nie rozumiem jak to działa.
Rozumiem, że to wyższy stopień wtajemniczenia? ;) Jesteś pewien, że na
czystym Tcl będzie to działać? Ja sprawdzę ten kod przy pierwszej okazji,
ale nie przypuszczałem, że da się aż tak uprościć, widać pozostaje mi
jeszcze sporo do nauczenia się =)

-- 
takeda@IRCnet.EFnet, ICQ# 15827691, TLEN: taked4, YahooIM: takeda64
http://eggwiki.takeda.tk - nowa ulepszona strona !!!
Technical Details
Message-ID: <ku8uj48navzk.dlg@takeda.tk.stupid.worms.and.spammers.sending.mails.to.msgid>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.gazeta.pl!news.onet.pl!agh.edu.pl!news.agh.edu.pl!news.ceti.pl!not-for-mail
References: <6cfos1e7qd1w$.dlg@takeda.tk.stupid.worms.and.spammers.sending.mails.to.msgid> <d7hb73$koa$1@srv.cyf-kr.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.gazeta.pl!news.onet.pl!agh.edu.pl!news.agh.edu.pl!news.ceti.pl!not-for-mail
From: Derek Kuliński / takeda <d.kulinski@gmail.com>
Newsgroups: pl.comp.lang.tcl
Subject: Re: Optymalizacja
Date: Tue, 31 May 2005 10:53:16 -0700
Organization: CETI S.C. (Krakow, Poland)
Lines: 48
Message-ID: <ku8uj48navzk.dlg@takeda.tk.stupid.worms.and.spammers.sending.mails.to.msgid>
References: <6cfos1e7qd1w$.dlg@takeda.tk.stupid.worms.and.spammers.sending.mails.to.msgid> <d7hb73$koa$1@srv.cyf-kr.edu.pl>
NNTP-Posting-Host: node-402413e2.sna.onnet.us.uu.net
Mime-Version: 1.0
X-Trace: druid.ceti.pl 1117561997 15556 64.36.19.226 (31 May 2005 17:53:17 GMT)
X-Complaints-To: abuse@ceti.pl
NNTP-Posting-Date: Tue, 31 May 2005 17:53:17 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
X-EMAIL: 5570bmv02@NOsneakemailSPAM.com - remove CAPITAL letters
X-Face: ptH}o2-v0T<^mQ%"Un18TXgE#jj}qUfAK;3\x;'$hO%[N&Jr^1FC~dtAe&p%]WWfXhhT_G%@!$|Nw,nq|M07r2[Jf._,ZqGWv@aULt6&Y+`2Wp9y]|=K.GgSR=]7ObD?8S|{I:D=+1K_'tn/:T0pyTQN=x).#~Z="SWp0V)P5D"8]rf=j5|{;O{0]8X;GHjl6p1R\VXngOe
X-Antivirus: avast! (VPS 0522-2, 05/31/2005), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit