用于模式匹配函数分派的函数样式字典和列表类+装饰符
pyfnc的Python项目详细描述
概述用于模式匹配功能分派的函数样式“list”和“dict”类和装饰器。
>更多信息,请访问http://www.systemic.com/doc/opensource/opensource/pyfnc
==
=
>d=dic({“k2”:“v2”v2“>>
>gt>dr=d.update({“k1”:“v1”>
>gt>d;self.assertequal(d d d d d)self assertequal(d d d d d.assertequal)的实例
类“liste”,具有“return self”功能和集成的“map”、“reduce”和“filter”功能:
>;>l=liste()
>;>lr=l.extend([1,2,3])
>;>self.assertequal(len(l),3)
>;>self.assertequal(l,lr)
>;>f=lambda x:x+10
>;>lm=l.map(f)
>;>self.assertequal(lm,[11,12,13])
>;>self.assertequal(l,[11,12,13])
erlang风格的功能分派:
>;@模式(“男性”,str)
…def greet_male(p1,p2):
…return“你好,M.%s!”%p2
>;@pattern('female',str)
…定义问候语女性(p1,p2):
…return“你好,女士%s!”%p2
>;@图案
…定义问候语(p1,p2):
…通过打印问候语(“男”,“杜邦”)
“你好,杜邦先生!”
>>>打印问候语(“女性”,“Corriveau”)
“你好,Corriveau夫人!”
外观整洁的异径管:
@pattern(false,any)
def comp_reducer_fa(p1,p2):
返回false
@pattern(str,str)
def comp_reducer_ss(p1,p2):
如果p1==p2:
返回p1
return false
@patterned
def comp reducer(p1,p2):
'
reducer
>检查所有字符串是否相等
'
def strings_comparator(l):
'
'
>如果len(l)<,则返回公共字符串;2:
return false
return reduce(comp_reducer,l)
==
>可以使用根目录中的“notests”执行测试。
>更多信息,请访问http://www.systemic.com/doc/opensource/opensource/pyfnc
==
=
>d=dic({“k2”:“v2”v2“>>
>gt>dr=d.update({“k1”:“v1”>
>gt>d;self.assertequal(d d d d d)self assertequal(d d d d d.assertequal)的实例
类“liste”,具有“return self”功能和集成的“map”、“reduce”和“filter”功能:
>;>l=liste()
>;>lr=l.extend([1,2,3])
>;>self.assertequal(len(l),3)
>;>self.assertequal(l,lr)
>;>f=lambda x:x+10
>;>lm=l.map(f)
>;>self.assertequal(lm,[11,12,13])
>;>self.assertequal(l,[11,12,13])
erlang风格的功能分派:
>;@模式(“男性”,str)
…def greet_male(p1,p2):
…return“你好,M.%s!”%p2
>;@pattern('female',str)
…定义问候语女性(p1,p2):
…return“你好,女士%s!”%p2
>;@图案
…定义问候语(p1,p2):
…通过打印问候语(“男”,“杜邦”)
“你好,杜邦先生!”
>>>打印问候语(“女性”,“Corriveau”)
“你好,Corriveau夫人!”
外观整洁的异径管:
@pattern(false,any)
def comp_reducer_fa(p1,p2):
返回false
@pattern(str,str)
def comp_reducer_ss(p1,p2):
如果p1==p2:
返回p1
return false
@patterned
def comp reducer(p1,p2):
'
reducer
>检查所有字符串是否相等
'
def strings_comparator(l):
'
'
>如果len(l)<,则返回公共字符串;2:
return false
return reduce(comp_reducer,l)
==
>可以使用根目录中的“notests”执行测试。