我正在使用描述数字电路(Lava)的Haskell libraby,它的功能输入和输出属于信号类型(Signal Bool,Signal Int),据我所知,没有一个函数可以从Signal Int转换为Int,我知道有几种算术运算可以与 Signal Int 类型一起使用,但并非所有算术运算都是可能的。我编写了这个函数,假设从 Signal Int 转换为 Int (仅用于我需要的值)。
signalInt2int :: Signal Int -> Int
signalInt2int x = case x of
0 -> 0
1 -> 1
15 -> 15
_ -> 1000
只是为了尝试,我只写了这 4 种可能性,问题是每当我调用此函数时,无论输入是什么,输出始终为 1000。我确保使用 Signal Int 类型的输入。这是我得到的。
谁能指出问题出在哪里?我会很感激你的帮助。