Hoi, ik heb een klein vraagje.
Ik heb het volgende stukje code voor mijn ircbotje, zodra er een user in een kanaal komt wordt deze methode aangeroepen met daarbij de nickname en het kanaal.
de functie getUserStatus geeft een waarde terug afhankelijk van wat er voor deze user is ingesteld in de database, dit kan de waarde AVOICE, AOP of AKICK, of een combinatie van deze zijn (klinkt vreemd maar het is zo
dit is met name zo voor toekomstige "statussen")
Nu wil ik de code dmv een switch laten lopen vanwege de overzichtelijkheid, echter nu doet hij alleen als er maar 1 waarde is ipv de combinatie (uiteraard).
Ik kan natuurlijk wel extra regels toevoegen zoals een "case AVOICE+AOP" maar dat is natuurlijk niet 'netjes" en bovendien als er meer statussen bijkomen een ramp om te schrijven.
Hoe kan ik dit oplossen? Ik kan gewoon niet meer op de term komen die ik zoek hoe dit heet, het was iets met binair geloof ik maar zoek acties wijzen mij niets uit.
Wie helpt mij in de goede richting?
Ik heb het volgende stukje code voor mijn ircbotje, zodra er een user in een kanaal komt wordt deze methode aangeroepen met daarbij de nickname en het kanaal.
de functie getUserStatus geeft een waarde terug afhankelijk van wat er voor deze user is ingesteld in de database, dit kan de waarde AVOICE, AOP of AKICK, of een combinatie van deze zijn (klinkt vreemd maar het is zo
Nu wil ik de code dmv een switch laten lopen vanwege de overzichtelijkheid, echter nu doet hij alleen als er maar 1 waarde is ipv de combinatie (uiteraard).
Ik kan natuurlijk wel extra regels toevoegen zoals een "case AVOICE+AOP" maar dat is natuurlijk niet 'netjes" en bovendien als er meer statussen bijkomen een ramp om te schrijven.
Hoe kan ik dit oplossen? Ik kan gewoon niet meer op de term komen die ik zoek hoe dit heet, het was iets met binair geloof ik maar zoek acties wijzen mij niets uit.
Wie helpt mij in de goede richting?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public static final int AVOICE = 1; public static final int AOP = 2; public static final int AKICK = 4; .. public void onJoin(String nickname, String channel){ int userStatus = erkbot.getUserStatus(nickname,channel); switch (userStatus){ case AVOICE: erkbot.setMode(channel,"+v " + nickname); break; case AOP: erkbot.setMode(channel,"+o " + nickname); break; case AKICK: erkbot.kick(channel,nickname); break; } } |
[ Voor 3% gewijzigd door Erkens op 04-05-2003 22:13 . Reden: ff code aangepast, miste een paar ; (just for search) ]