You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

F#函数g1的类型、调用方式及when子句含义咨询

F#函数g1的问题解答

1. 最通用类型

g1的类型为:('a -> bool) -> 'a list -> 'a list

  • 'a是泛型参数,代表任意类型
  • 第一个参数是判断函数:接收'a类型的值,返回布尔值
  • 第二个参数是'a类型的列表
  • 返回值是筛选后的'a类型列表

2. 计算功能

从输入列表中筛选出所有满足判断函数p条件的元素,按原列表顺序组成新列表返回。

3. when p x的含义

when是F#模式匹配的守卫条件,只有当p x返回true时,当前匹配分支才会触发。这里的p x就是用传入的判断函数p检查列表头元素x,符合条件就把x加入结果,再递归处理剩余列表元素。

4. 调用方式与报错原因

直接执行g1 [1;2;3]报错,是因为g1需要两个参数,你只传了列表,缺了判断函数。正确调用示例:

  • 筛选列表中的偶数:g1 (fun x -> x % 2 = 0) [1;2;3;4] → 返回[2;4]
  • 筛选大于2的元素:g1 (fun x -> x > 2) [1;2;3] → 返回[3]

内容的提问来源于stack exchange,提问作者Ibo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 08:25:24