Pythonのif文を式にする
さっき光成さんにC++の変態的なコードの話を聞いていたらむらむらと変態的なことがしたくなってしまったので欲情にまかせて以下略
>>> class IF(object): def __call__(self, cond): class Cond(object): def then(self, f): if cond: class Result(object): __call__ = f def else_(self, _): return f return Result() return self def else_(self, f): return f return Cond() >>> if_ = IF() >>> if_(1 == 1).then(lambda: "True").else_(lambda: "False")() 'True' >>> if_(1 == 2).then(lambda: "True").else_(lambda: "False")() 'False'
いや、こんなコードの書き方したら絶対にダメだからね!(ぉ