Version 16 (modified by atzm, 18 years ago) (diff) |
---|
Hoge Knowledge
最近ただのメモ帳に成り下がっとる.
システム系
- Cisco
- 何か書いてみた. 書き込みに認証かけてるから小人さんに頼れないのが辛いところ.
- FreeBSD
- また適当に.
- CourierIMAP
- てけとー.
- PPTP
- ちょろっと.
プログラミング系
- Python
- 適当.
- PyGTK
- 更に適当に.
- PyAmazon
- これはないわー.
- 頭の体操
-
これだと val が束縛されていないため,最後にセットされる c に対してのみ有効となる. で,結果全て 2 が返る.どうにかならんもんか. 呼び出したメソッドの名前をメソッドの中から得ることができれば解決できるかも?
class AutoAccessor: _can_access = ['a', 'b', 'c'] def __init__(self): for val in self._can_access: setattr(self, 'set_%s' % val, lambda x: setattr(self, val, x)) setattr(self, 'get_%s' % val, lambda: getattr(self, val)) if __name__ == '__main__': ac = AutoAccessor() ac.set_a(0) ac.set_b(1) ac.set_c(2) print ac.get_a() print ac.get_b() print ac.get_c()