2017-12-18 9 views
0

ResizeArrayでfindindex関数を使用しようとしていますが、使用方法がわかりません。 配列はGitem型のインベントリと呼ばれ、配列内のオブジェクトのインデックスを検索しようとしていますが、そうすることはできませんが、FindIndexの使い方を知りたいのですが。.Findindexなどの使用F#

また、ResizeArraysを使用すると、インデックスで値を置き換えることができますか?insertは、配列内の位置を前方にプッシュし、以前の値を保持すると仮定します。

答えて

1

それはIEnumerable<'a>を実装しているのであなたがseq<'a>と同じである、ResizeArray<'a>Seq.findIndexを使用することができます。

ResizeArray ["a"; "b"; "c"] |> Seq.findIndex (fun s -> s = "b") 
// 1 

ResizeArrayは、.NETのSystem.Collections.Generic.Listのためのちょうど別の名前です。私が知る限り、F#のコア機能はありません。インデクサと突然変異の構文を使用して、インデックスで項目を変更できます。

let xs = ResizeArray ["a"; "b"; "c"] 
xs.[1] <- "-" 

xs 
// val it : System.Collections.Generic.List<string> = seq ["a"; "-"; "c"] 
関連する問題