Cha*_*s R 11 python functional-programming clojure function-composition
我在Python工作.最近,我发现了一个名为fn的精彩小包.我一直在用它来进行功能组合.
例如,而不是:
baz(bar(foo(x))))
Run Code Online (Sandbox Code Playgroud)
用fn,你可以写:
(F() >> foo >> bar >> baz)(x) .
Run Code Online (Sandbox Code Playgroud)
当我看到这个时,我立刻想到了Clojure:
(-> x foo bar baz) .
Run Code Online (Sandbox Code Playgroud)
但请注意,在Clojure中,输入位于左侧.我想知道这在python/fn中是否可行.
Ble*_*der 11
你不能复制确切的语法,但你可以做类似的事情:
def f(*args):
result = args[0]
for func in args[1:]:
result = func(result)
return result
Run Code Online (Sandbox Code Playgroud)
似乎工作:
>>> f('a test', reversed, sorted, ''.join)
' aestt'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2997 次 |
最近记录: |