gpt4 book ai didi

f# - 如何尝试在无限有序序列中查找元素?

转载 作者:行者123 更新时间:2023-12-04 23:07:18 26 4
gpt4 key购买 nike

如果我有一个无限序列,我不能使用普通的 Seq.tryFind

但是,如果序列是有序的,这意味着当我检测到序列中没有其他元素可以满足我的条件时,可以取消搜索。

有没有一种优雅的方式来表达这种搜索?

最佳答案

如果您只想使用标准函数 - 类似这样的方法会起作用

let evens =  Seq.initInfinite ((*)2)
let has v =
Seq.tryPick (fun x ->
if x = v then Some (Some v)
elif x > v then Some None
else None)
>> Option.bind id
has 40 evens // Some 40
has 41 evens // None

关于f# - 如何尝试在无限有序序列中查找元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com