python的数据流库
dataflow的Python项目详细描述
数据流.py
py是larrytheliquid的ruby dataflow gem的一个实验端口,主要用于查看python版本(没有块)是否可用。原来是的,这不是我最初期望的。我不是真的在做什么(或者正在做),但希望它能对其他人有用或者有兴趣。
数据流函数:
- dataflow_vars: decorator for generating dataflow variables for a function
- spawn(callable, *args): start a thread using the given callable, plus any additional arguments
- var(name=None): create a new dataflow variable (with optional name)
- unify(var, value): set the value of a dataflow variable.
数据流可以自动提供参数:
@dataflow_vars def sum_items(x, y, z): # notice how the order automatically gets resolved spawn(lambda: unify(y, x() + 2)) spawn(lambda: unify(z, y() + 3)) spawn(lambda: unify(x, 1)) return z() # => 6
或者您可以随时创建它们:
f = var() spawn(lambda: unify(f, 'f')) f() # => 6
访问数据流变量的任何属性或项(字典键)会自动等待分配,并将该访问权传递到其值:
f = var() spawn(lambda: unify(f, {'key': 'val'}) f['key'] # => 'val'