小编Dan*_*ory的帖子

F#循环遍历函数列表,依次将每个函数应用于数字

我最近开始学习F#.我正在尝试遍历函数列表,将每个函数应用于值.例如,我有:

let identity x = fun x -> x
let square x = fun x -> x * x
let cube x = fun x -> x * x * x

let functions = [identity; square; cube]
Run Code Online (Sandbox Code Playgroud)

我现在想做以下事情:

let resultList = List.map(fun elem -> elem 3) functions
Run Code Online (Sandbox Code Playgroud)

其中结果值为列表[3; 9; 27].然而,这不是发生的事情.相反,我得到:

val resultList : (int -> int) list = [<fun:Invoke@3000>; <fun:Invoke@3000>; <fun:Invoke@3000>]
Run Code Online (Sandbox Code Playgroud)

我想我不完全相信使用地图是正确的前进方向,所以我的问题是:

  1. 为什么我没有得到数字列表?
  2. 如何返回一个数字列表?
  3. 什么<fun:Invoke>意思?

非常感谢您的帮助.

丹尼尔

f#

2
推荐指数
1
解决办法
518
查看次数

标签 统计

f# ×1