🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Optymalizacja

#16
From: Derek Kuliński / takeda
Date: Tue, 31 May 2005 08:22
48 lines
2474 bytes
Niech będzie - pierwszy post na temat ;)

Ma ktoś pomysł jak poniższą procedurę zoptymalizować? Działać działa, ale
nie jest to ładne rozwiązanie. Bardzo nie podoba mi się powtarzający się
kod.

| proc combine_modes {dchan add_r rm_r} {
| 	set maxlen ${::modes-per-line}
| 	set chan [chandname2name $dchan]
| 
| 	set output [list]
| 
| 	#removing invalid +R
| 	set modes ""
| 	set masks [list]
| 	foreach mask $rm_r {
| 		if {$modes == ""} {set modes "-"}
| 		append modes "R"; lappend masks $mask
| 		if {[llength $masks] >= $maxlen} {
| 			lappend output "MODE $chan $modes [join $masks]"
| 			set modes ""; set masks [list]
| 		}
| 	}
| 
| 	#adding our own +R
| 	append modes "+"
| 	foreach mask $add_r {
| 		if {$modes == ""} {set modes "+"}
| 		append modes "R"; lappend masks $mask
| 		if {[llength $masks] >= $maxlen} {
| 			lappend output "MODE $chan $modes [join $masks]"
| 			set modes "" ; set masks [list]
| 		}
| 	}
| 
| 	if {[llength $masks] > 0} {
| 		lappend output "MODE $chan $modes [join $masks]"
| 	}
| 
| 	return $output
| }

Reszta skryptu znajduje siÄ™ tutaj:
http://eggwiki.takeda.tk/index.php/Skrypt:r-protect

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

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.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: Optymalizacja
Date: Tue, 31 May 2005 01:22:02 -0700
Organization: CETI S.C. (Krakow, Poland)
Lines: 48
Message-ID: <6cfos1e7qd1w$.dlg@takeda.tk.stupid.worms.and.spammers.sending.mails.to.msgid>
NNTP-Posting-Host: node-402413e2.sna.onnet.us.uu.net
Mime-Version: 1.0
X-Trace: druid.ceti.pl 1117527723 4158 64.36.19.226 (31 May 2005 08:22:03 GMT)
X-Complaints-To: abuse@ceti.pl
NNTP-Posting-Date: Tue, 31 May 2005 08:22:03 +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-0, 05/30/2005), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit