gpt4 book ai didi

F# 按索引数组切片数组

转载 作者:行者123 更新时间:2023-12-02 08:59:31 24 4
gpt4 key购买 nike

如何重载 F# 数组的 .[] 以根据任意索引数组对数组进行切片?

例如:

let x = [|1..10|]; 
let indx = [|4;1|];

虽然

[| for i in indx ->x.[i]|] 

可以,如果能够直接使用x.[indx]会更好。

最佳答案

您始终可以编写 F# 扩展方法来接近语法

let a = [| 1..10 |]
let idx = [|4;1|]

type 'T ``[]`` with //'
member this.Slice(indices:int array) =
[| for i in indices -> this.[i] |]

printfn "%A" (a.Slice idx)

但是由于数组已经有一个索引器,因此似乎没有办法重载/更改它。

关于F# 按索引数组切片数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357006/

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