【发布时间】:2016-10-13 05:47:02
【问题描述】:
我是 SML 编码的新手,但仍在尝试理解模式匹配。我试图找出如何从在 SML 中作为参数传递的函数访问参数。例如,如果一个函数有 2 个参数,一个函数和一个整数,我如何访问参数函数具有的参数(为简单起见,假设它只有一个)。这个问题在 SML 中是否有意义?这是一些代码,它不起作用,但我认为它说明了我正在尝试做的事情。
fun argumentExtraction (n,f) =
case f of
fn x => x
【问题讨论】:
-
听起来您想要对 Python 中可能的排序进行自省(当您传递该函数时,您可以获取有关函数参数的信息) .这在 SML 中是不可能的。使用静态类型很难实现。你希望做什么?
-
我想你理解我试图正确地做的事情,但我想它在 SML 中不起作用。我的目标是找到一种方法来执行函数 fn,在我的代码示例中,它需要的参数,显然我无法直接访问。
-
@JohnJenkins 澄清一下:Python 可以做的是告诉你一个函数需要多少个参数以及它们的名称。它不会告诉您应该传递给函数的实际值。该值实际上是由您以任何语言决定的。