<div dir="ltr">A proč se ty metody nepojmenuješ stejně jako klíčová slova na která mají reagovat? Můžeš je pak jednoduše volat pomocí funkce getattr(), takto:<br><br>class A:<br>&nbsp;&nbsp;&nbsp; def POKUS(self, arg):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return arg<br>
<br>a = A()<br>key = &#39;POKUS&#39;<br>arg = &quot;test&quot;<br><br>print getattr(a, key)(arg)<br><br>Pokud by šlo o to, aby pojmenování těch metod nebylo v rozporu s nějakými pravidly pro psaní syntaxe, případně aby nekazilo logiku pojmenování metod, vyřešil bych to zděděnou třídou obsahující &quot;škaredě&quot; pojmenované metody podle těch klíčových slov, které budou pouze volat ty pěkně pojmenované zděděné metody (a předávat jim parametry).<br>
<br>Honza<br><br><br><br><div class="gmail_quote">2008/7/31 Martin Stiborský <span dir="ltr">&lt;<a href="mailto:martin.stiborsky@gmail.com">martin.stiborsky@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Zdravím, opět bych vás rád poprosil o vaše rady a zkušenosti.<br>
<br>
Jde o to, že bych rád elegantně vyřešil jednu část mého programu. Píšu<br>
si jabber bota, který bude bydlet na mém routeru a hlídat některé<br>
věci, torrenty, datové přenosy, připojené uživatele, pro srandu jsem<br>
ho naučil i típnout aktuální dění kolem routeru z připojené kamerky,<br>
prostě taková hračka ..<br>
<br>
Problém je, že příkazů na které bot reaguje se už nahromadila celkem<br>
hromada. Ve slovníku si udržuji jako klíč slovo, nebo slova na které<br>
bot zareaguje a jako hodnota je odkaz na příslušnou &nbsp;metodu. Pokaždé<br>
když chci novou funkci bota, musím napsat metodu a přidat ji do<br>
slovníku + text na který bot reaguje. Toto bych chtěl automatizovat.<br>
Jenže hned první věc je, že nevím kam nacpat string který vyvolá<br>
funkci, zkusil jsem do šoupnout do __doc__ metody, při inicializaci<br>
třídy se projde jmenný prostor, vypreparuje se všechno co je metoda<br>
přes ismethod() z modulu inspect, koukne se na __doc__ metody a<br>
vytvoří slovník naplněný daty. To by snad i šlo, ale nelíbí se mi to<br>
..<br>
<br>
Za vaše rady a tipy bych byl velmi vděčný ...<br>
<br>
--<br>
S pozdravem<br>
Martin Stiborský<br>
<br>
Jabber: <a href="mailto:stibi@njs.netlab.cz">stibi@njs.netlab.cz</a><br>
ICQ: 224-065-849<br>
</blockquote></div><br></div>