假设我有这段代码:
data Command = Forward Integer
| Backwards Integer
doSomething givenCommand
| Forward value <- givenCommand = undefined
where calculatedValue = sqrt value
Run Code Online (Sandbox Code Playgroud)
假设使用 的未定义行将calculatedValue非常长并且calculatedValue计算时间也更长,因此为了使代码更具可读性,我想使用 where 子句。
问题是value在保护模式匹配中指定的变量不在 where 子句的范围内。
有没有办法解决这个问题,这不会强迫我在警戒线上执行计算?
谢谢。