Version 8 (modified by atzm, 19 years ago) (diff) |
---|
Hoge Knowledge
trac 入れてみたはいいけど,特に書くことが思いつきませんな.とりあえず WikiFormatting を覚えるのが先決.
頭の体操
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()
これだと val が束縛されていないため,最後にセットされる c に対してのみ有効となる. で,結果全て 2 が返る.どうにかならんもんか.
呼び出したメソッドの名前をメソッドの中から得ることができれば解決できるかも?
C ならカラーリングされるのに……
#include <stdio.h> int main(void) { printf("Hello, world!"); return 0; }
なんで Python はカラーリングされんの?
Cisco
何か書いてみた. 書き込みに認証かけてるから小人さんに頼れないのが辛いところ.