方案功能列表-如何访问列表中的功能?

凯莉·克尔(Kailee Kerr)

在方案中,如何访问列表内的某个函数并将变量传递给该函数?

(define f 
        '((lambda (n) (+ n 2)) 
          (lambda (n) (* n 2)) 
          (lambda (n) (* n n))))

我已经定义了该列表f,其中具有3个不同的函数,我想知道我可以输入哪种格式,以便能够将3传递给列表中的第二个函数?

我以为这样的((cadr f) 3)方法行得通,但我似乎无法弄清楚,我对Scheme真的很陌生,如果能提供任何帮助,我们将不胜感激。

LoïcFaure-Lacroix

您所拥有的不是功能列表,而是符号列表。还包含一些符号...由于您引用了所有内容,因此所有内容都被引用了,只有数字和列表,字符串都被自我引用了。如果要将对象保留在列表中,则有两种选择:

创建一个列表而不是引用它。

(define f 
        (list (lambda (n) (+ n 2)) 
              (lambda (n) (* n 2)) 
              (lambda (n) (* n n))))

伪引用它,并取消引用每个函数声明

(define f 
        `(,(lambda (n) (+ n 2)) 
          ,(lambda (n) (* n 2)) 
          ,(lambda (n) (* n n))))

老实说,显式列表似乎比伪引用版本好一些。

您引用的版本为您提供的是:

(define f 
        (list (list 'lambda (list 'n) (list '+ 'n 2)) 
              (list 'lambda (list 'n) (list '* 'n 2)) 
              (list 'lambda (list 'n) (list '* 'n 'n))))

报价不是商品清单的简写。这是不进行任何评估的捷径。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

方案模式“列表”功能

来自分类Dev

方案反向列表功能

来自分类Dev

如何从分配列表中访问功能?

来自分类Dev

如何在Pixels“正在播放”功能中访问歌曲列表?

来自分类Dev

在C ++中访问列表元素功能

来自分类Dev

在SensorStudio块中访问数据的功能列表

来自分类Dev

球拍/方案中的抽象列表功能-列表中元素出现的数量

来自分类Dev

球拍/方案-将功能应用于列表列表中的每个元素

来自分类Dev

如何编写功能列表?

来自分类Dev

Haskell中的功能列表

来自分类Dev

如何使R中“ by”功能的列表输出可用?

来自分类Dev

如何在列表中创建编辑功能?

来自分类Dev

如何调用列表中对象的功能?

来自分类Dev

如何使用Reduce从功能列表中创建新功能?

来自分类Dev

返回功能方案的功能

来自分类Dev

应用功能列表中的选定功能

来自分类Dev

Python中列表值的功能

来自分类Dev

XPages中的列表功能

来自分类Dev

折叠Haskell中的功能列表

来自分类Dev

撰写Haskell中的功能列表

来自分类Dev

在新功能中重用列表

来自分类Dev

从列表中添加方案的方案

来自分类Dev

从列表中添加方案的方案

来自分类Dev

在XQuery中,如何获取导入模块中的功能列表?

来自分类Dev

方案中的列表列表

来自分类Dev

STL列表数组不访问列表功能

来自分类Dev

列表方案中的位置

来自分类Dev

从方案列表中打印对

来自分类Dev

如何在地图功能-Haskell中串联列表?