2017-07-22 4 views
0

#r "FSharp.PowerPack.dll"オペレータを作成して定義する方法:Fsharpでのベクトル4.1

let c = vector [5.0; 8.0]。重大度コード説明プロジェクトファイルの行の抑制状態 エラーFS0076の#RディレクティブのみF#スクリプトファイル(拡張子が.fsxまたは.fsscript)で発生する可能性があり

  • そして、私は多くのエラーを得ました。このコードをスクリプトファイルに移動するか、この参照を '-r'コンパイラオプションに置き換えてください。このディレクティブがユーザー入力として実行されている場合、 '#if INTERACTIVE'/'#endif'で区切ることができます。 practiveのはC:\ Users \ユーザー

  • 1アクティブ

    プロジェクト\ practiveの\ practiveの\ Program.fs \ Visual Studioの2017 \ドキュメント\ロボット工学のためのaiを
  • 重大度コード説明プロジェクトファイルの行の抑制状態 エラーFS0039値またはコンストラクタ 'ベクトル'定義されていません。 practiveのはC:\ユーザーは\ですが、私を助けてみましょう9アクティブ

プロジェクト\ practiveの\ practiveの\ Program.fs \ Visual Studioの2017 \ドキュメント\ロボット工学のための愛。どうもありがとうございました 。

+0

Fsharpパワーパックは、減価償却されています。おそらく[MathNet.Numerics](https://numerics.mathdotnet.com/)を使用してください。もしあなたがもっと助けが必要ならば、スラックやF#でチャットしてください。 – s952163

+0

あなたの答えから、あなたがしたいことをするためにベクトルを本当に必要としないように見えます。解決しようとしている問題は何ですか? –

答えて

1

#rコマンドは.fsxファイル用です。あなたは.fsファイルにあります。 fsx拡張子を持つ新しいファイルを作成する場合は、上記の方法が有効です。しかし、あなたは以下のコードは、私のマシン

#r """C:\Users\josep\exercism\fsharp\hello-world\packages\FSPowerPack.Core.Community.2.0.0.0\lib\Net40\FSharp.PowerPack.dll""" 

let c = vector [ 5.0; 8.0 ]; 

に取り組んでいます。しかし、あなたが.fsを使用しているので、私はあなたが直面している問題を解決する簡単な方法は、になると思いFSharp.PowerPack.dllへのパスが必要になります#r行を削除して、単にnugetとInstall-Package FsPowerPackに移動してください。コミュニティ

あなたのコードはうまくいくはずです。

+0

しかし、WebshiteでFsharpを使用しているのはFsharpを使用しているFsharpを使用している4.1 –

+0

cドライブにFSharp.PowerPack.dllを検索し、そのプロジェクトへの参照を追加します。終了しない場合は、nugetにアクセスしてコミュニティ版を取得してください。 – JosephStevens

1

私は初心者にとっては私にとって簡単だと答えました。 - それは、ResizeArray を使用します - そして、これは私の問題の例です:

let vector = ResizeArray<float>() 
vector.Add(1.0) 
vector.Add(2.0) 
printfn "CONTENTS" 
vector |> Seq.iter (fun x -> printfn "%f" x) 
// add range 
vector.AddRange([3.0;4.0;5.0]) 
printfn "CONTENTS" 
vector |> Seq.iter (fun x -> printfn "%f" x) 
// remove 
vector.RemoveAt(2) 
printfn "CONTENTS" 
vector |> Seq.iter (fun x -> printfn "%f" x) 
// insert 
vector.Insert(0,42.) 
printfn "CONTENTS" 
vector |> Seq.iter (fun x -> printfn "%f" x) 
+1

これは基本的にF#構文のC#を書いています。名前を 'vector'に代入した値を"変更 "しています。 F#はあなたが**そうしないように奨励しようとします。一度割り当てられた値は不変でなければなりません。なぜなら、リストに追加するF#関数は既存のリストを変更するのではなく新しいリスト*を返すからです。あなたは初心者のようですので、不変性が非常に重要な理由はすぐには分かりません。しかし、私はあなたができるだけ早くhttp://fsharpforfunandprofit.com/posts/why-use-fsharp-intro/に行き、そのシリーズを読むことをお勧めします。 – rmunn

関連する問題