sml - 标准 ML:如何计算 x 的 i 次方?
问题描述
我是标准 ML 的新手。我正在尝试计算 x 的平方 i,其中 x 是实数,i 是非负整数。该函数应该有两个参数,x 和 i
这是我到目前为止所拥有的:
fun square x i = if (i<0) then 1 else x*i;
我得到的错误是案例对象和规则不同意
解决方案
SML 中的一元否定运算符与-
大多数语言中不同,而是~
. 这可能是导致您引用的特定错误的原因。
也就是说,此代码还有其他一些问题。L
例如,在您发布的示例中不受约束。
我想你可能希望你的功能看起来更像
fun square (x : real) 0 = 1
| square x i = x * (square x (i - 1))
您需要递归以计算平方。
推荐阅读
- django - 与选择标签一起显示的外键的 Django 模型字段具有空字段
- javascript - 如何从存在跨域策略问题的外部资源中获取数据
- java - 我们如何在 Selenium Web 驱动程序的 ap 标签中找到显示的值
- flutter - 在 dart 中使用分析器检查构造函数元素
- sql - 同时使用 case 和 group-by
- android - 安卓工作室。微调器控件不在调色板中。普通的?
- javascript - 我可以拥有不缓存任何资产的 PWA 吗?
- python - 单击 pyqt5 中的弹出项时,QCompleter 在第二个对话框中的 QLineEdit 中冻结
- webpack - 你如何 webpack 将资产捆绑到 html 文件内联/嵌入中?
- php - html表格右对齐在屏幕左侧有不可见部分