wana see if there is a way to search
for more then one var ..
if ( $nick == %list* )
%list1 tom
%list2 mike
%list3 greg
%list4 mark
Have it check all vars with list in it for the nick
Something like that ?
Thaks ..
/help $var
$var(%list*,1)
$var(%list*,2)
$var(%list*,3)
$var(%list*,4)
alias listtest {
var %i = 1
while ($var(%list*,%i) != $null) {
if ($eval($v1,2) == $1) {
echo -a Found $v1
return
}
inc %i
}
echo -a $1 not found.
}
type //set %list1 tom | set %list2 mike | set %list3 greg | set %list4 mark
type /listtest mike
type /listtest albert
Cool .. Now what if i wana del that var it finds
So if it finds: MIKE and would del : %list2 mike
alias listtest {
var %i = 1
while ($var(%list*,%i) != $null) {
if ($eval($v1,2) == $1) {
unset var = %list2
return
}
inc %i
}
echo -a $1 not found.
}
Thanks
)
The correct syntax for unsetting a variable is unset %varname
Often when you need to do something tedious like checking a list of variables for a match, it's better to stop and think about what you are doing and if you have the most appropriate data structure to do it.
In this case, instead of %list1 = joe, %list2 = bob, list3 = jim, you could:
-> put all nicks in a single var
set %nicklist joe jim bob
if ($istok(%nicklist,$nick,32)) { echo yep, $nick is found }
-> make an ini file
[nicknames]
joe = 1
bob = 1
jim = 1
if ($readini(nicks.ini,nicknames,$nick)) { echo yep, $nick is found }
-> make a hash table
hmake nicks 10
hadd nicks joe 1
hadd nicks jim 1
hadd nicks bob 1
if ($hget(nicks,$nick)) { echo yep, $nick is found }
Each has it's own advantages and disadvantages, the key to being a good scripter is choosing the option that suits best, not in this case, but combined over all other uses of this data (list of nicknames here)
hash table works great ..
thanks ..
never played with them yet till now :P
Thanks For the Help Guys