2013-06-25 85 views
-1

我想用S.Lott的response來構建一個戰略模式。
問題是函數返回無。
我正在使用Hickey的Simple vs Easy {what,how,who} -logic。
- [WHAT] I/OPython的戰略模式:使用類包裝不功能+ simple_vs_easy_logic

class base_fnc(object): 
    def fncExc(self,data1,data2): 
     return 

- [HOW] DATA <>隊列[其中,當](直接噴射)

class stump(base_fnc): 
    def fncExc(self, d1, aContext): 
     return d1 

class MAB(base_fnc): 
    def fncExc(self, d, aContext): 
     return d+10 

- [WHO] API

class context(object): 
    def __init__(self, alt_how_class): 
     self.how = alt_how_class 

    def exc(self, d): 
     return self.how.fncExc(d, self) 

if __name__ == "__main__": 
    c1 = context(MAB()) 
    ss=c1.exc(10) 
    print ss 

ss打印無

+1

Downvoting,因爲這不太可能對其他人有用。沒有冒犯的意思。 –

回答

2

您沒有返回exc。你需要做return self.how.fncExc(d, self)