首页 > 解决方案 > 如何使用选项从 f# 中的列表中获取第 n 个元素

问题描述

我是 f# 的新手,我正在尝试做这个练习:“实现一个函数”

let rec nth(n : int) (l : List<'a>) : Option<'a> =

返回 l 中位置 n 的元素。该函数必须适当处理索引无效的情况

这是我当前的代码,但我有点卡住了:

let rec nth (n : int) (l : List<'a>) : Option<'a> =
    if n > l.Length then
        None
    else
        match l with
        | [] -> None

谢谢您的帮助!

标签: listfunctional-programmingf#

解决方案


有一个内置函数 List.tryItem

let rec nth(n : int) (l : List<'a>) : Option<'a> =
    l |> List.tryItem n

推荐阅读