我想做这样的事情:
foo x = a + b
where
a = bar z
b = baz z
where
z = qux x
但那不是有效的Haskell; z = qux x
适用于b = baz z
,但不适用于a = bar z
。
我该怎么做?
答案 0 :(得分:5)
where
- 绑定的右侧可以引用同一块中定义的变量:
foo x = a + b
where
a = bar z
b = baz z
z = qux x
工作正常。