我正在尝试打印 0 到 1 之间的随机数,但代码出错。我无法理解我做错了什么。
import System.Random
main = print (randomRIO (1,0))
Run Code Online (Sandbox Code Playgroud)
错误: • 没有因使用“print”而产生的 (Show (IO a0)) 实例 • 在表达式中:print (randomRIO (1, 0)) 在“main”的等式中: main = print (randomRIO (1 , 0)) | 2 | main = 打印 (randomRIO (1,0)) | ^^^^^^^^^^^^^^^^^^^^^^^
错误: • 由于使用“randomRIO”而产生的歧义类型变量“a0”阻止了约束“(Random a0)”的求解。可能的解决方法:使用类型注释来指定 'a0' 应该是什么。这些潜在的实例存在: 实例随机整数——在“System.Random”实例中定义 Random Bool——在“System.Random”实例中定义 Random Char——在“System.Random”中定义......加上其他四个......加上 29 个涉及范围外类型的实例(使用 -fprint-potential-instances 查看它们) • 在 'print' 的第一个参数中,即 '(randomRIO (1, 0))' 表达式中: randomRIO (1, 0)) 在“main”的等式中: main = print (randomRIO (1, 0))
错误: • 由文字“1”引起的模糊类型变量“a0”阻止了约束“(Num a0)”的求解。可能的解决方法:使用类型注释来指定 'a0' …