【问题标题】:Using Elements in a List As Arguments in Racket/PLT Scheme在 Racket/PLT 方案中使用列表中的元素作为参数
【发布时间】:2014-10-14 01:51:17
【问题描述】:

在我无法修改的库中,有一个函数将值列表作为其参数之一。

为了这个问题,我们可以称之为fun。我有一个将多个参数作为列表返回的函数,我想知道如何从列表中提取这些值并将其传递给函数。比如这里是fun

(fun (list someval someval2 arg1 arg2 arg3 ... etc)).

我处理数据的函数将返回类似于(list arg1 arg2 arg3 ... etc) 的内容。我如何将我的函数返回的列表的内容与somevalsomeval2 一起传递?

【问题讨论】:

    标签: scheme racket


    【解决方案1】:

    使用list*:

    (let ([someval (some-func ...)]
          [someval2 [some-func2 ...)]
          [args (my-func ...)])
      (fun (list* someval someval2 args)))
    

    list* 接受它的参数并将它们构建到一个列表中,就像list 所做的那样,除了如果最后一个参数是一个列表,它将使用它作为列表的尾部,例如(list* 1 2 '(3 4 5))'(1 2 3 4 5)。因此,一旦您计算出somevalsomeval2 以及您想要传递给fun 的参数列表(我在上面的代码中将列表命名为args),您就可以使用(list* someval someval2 args) 将其构建到一个列表中,然后将该列表传递给fun

    【讨论】:

      猜你喜欢
      • 2012-11-23
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2010-11-02
      相关资源
      最近更新 更多