BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #34592同步于 2009/5/24
SoftDesign机器人发帖

[合集] [意大利面条代码向]谁来帮我改进一下这个代码

FadeToBlack
2009/5/24镜像同步0 回复
☆─────────────────────────────────────☆ wks (cloverprince) 于 (Thu Nov 13 19:43:56 2008) 提到: #!/usr/bin/python # ..... # 其中 handler_map[fd]是一个对象,有on_in(), on_out(), on_priority(), on_error...这些方法。 event_list = self.poll.poll() for fd,event in event_list: if event & select.POLLIN != 0: handler_map[fd].on_in() if event & select.POLLPRI != 0: handler_map[fd].on_priority() if event & select.POLLOUT != 0: handler_map[fd].on_out() if event & select.POLLERR != 0: handler_map[fd].on_error() if event & select.POLLHUP != 0: handler_map[fd].on_hangup() if event & select.POLLNVAL != 0: handler_map[fd].on_invalid() ☆─────────────────────────────────────☆ lanphon (灌水协会副主席|灌水帮少帮主 嗯) 于 (Thu Nov 13 20:12:11 2008) 提到: 看不懂的帮顶 【 在 wks (cloverprince) 的大作中提到: 】 : #!/usr/bin/python : # ..... : # 其中 handler_map[fd]是一个对象,有on_in(), on_out(), on_priority(), : on_error...这些方法。 : ................... ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Thu Nov 13 20:25:06 2008) 提到: 这个简单点: class WhatTheFxxk { void a() {} void b() {} void c() {} void d() {} void e() {} } wtf; main() { if (blahblahblah1) wtf.a(); if (blahblahblah2) wtf.b(); if (blahblahblah3) wtf.c(); if (blahblahblah4) wtf.d(); if (blahblahblah5) wtf.e(); return 0; } ☆─────────────────────────────────────☆ UnrealT (UT|电磁股最高) 于 (Thu Nov 13 21:02:25 2008) 提到: 要事先定义映射关系 java的话可以反射,虽然效率低 c++用模板可能也可以做到 ☆─────────────────────────────────────☆ coolfantasy (Cool) 于 (Thu Nov 13 21:34:24 2008) 提到: key => value ☆─────────────────────────────────────☆ ericyosho (ericyosho) 于 (Fri Nov 14 08:20:04 2008) 提到: 这只能反射做吧。 map一下,然后eval呗? ☆─────────────────────────────────────☆ atian25 (天猪天狗|阿天) 于 (Fri Nov 14 14:17:47 2008) 提到: if太多了不好,嗯. jdon教我们要全部改为策略模式,于是代码量又多了,绩效高了 ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Fri Nov 14 15:56:25 2008) 提到: callmap = { POLLIN: lambda x: x.on_in(), POLLPRI: lambda x: x.on_pri(), POLLOUT: lambda x: x.on_out(), POLLERR: lambda x: x.on_err(), POLLHUP: lambda x: x.on_hup(), POLLNVAL: lambda x: x.on_nval(), } for event,fd in eventlist: for mask in (POLLIN,POLLPRI,POLLOUT,POLLERR,POLLHUP,POLLNVAL): if event&mask >0: callmap[mask](obj[fd]) 哈哈哈哈,map果然很黄,很暴力。 ☆─────────────────────────────────────☆ windam (棒棒糖) 于 (Fri Nov 14 15:57:17 2008) 提到: 消息分派的代码不知道python有什么好的方法实现。 C++的做法都很麻烦…… 不清醒ing……= = p.s.周末有人吃腰子么…… ☆─────────────────────────────────────☆ wks (cloverprince) 于 (Fri Nov 14 16:11:07 2008) 提到: Python有更优雅的做法。参考simplexmlrpcserver的实现。 ☆─────────────────────────────────────☆ coolwc (小包) 于 (Tue Nov 25 02:31:28 2008) 提到: #define EVENT_1 0x001 #define EVENT_2 0X002 ........ #define EVENT_MAX 0xFFF unsigned int eventlist[EVENT_MAX]={&init, &todo1, &todo2, ........}; (*eventlist) (); //init function (*eventlist[event_code-EVENT_INIT]) (); //todo function
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。