You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

F#中List.filter筛选不等于4的正确写法是什么?

正确筛选F#列表中非4元素的写法

嗨,我来帮你搞定这个F#的小问题~你之前尝试的!=x not 4都不符合F#的语法规则,F#里判断不等于有两种常用的正确方式:

  1. 使用<>运算符(这是F#里标准的不等于运算符)
let x = [1 .. 5] |> List.filter(fun x -> x <> 4)
  1. not函数包裹等于判断(not是布尔值取反函数,需要传入完整的布尔表达式)
let x = [1 .. 5] |> List.filter(fun x -> not (x = 4))

运行任意一种写法,都会得到排除了4的列表结果:[1; 2; 3; 5]

顺便给你解释下为什么之前的写法行不通:

  • F#里没有!=这个运算符,它用<>来表示不等于,和C#这类用!=的语言区分开了
  • not是一个函数,不能直接放在变量和值中间,必须传入一个完整的布尔表达式,所以得写成not (x = 4)而不是x not 4

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

火山引擎 最新活动