我有这个简单代码(一个10 000*10 000矩阵)的"System.OutOfMemoryException"异常乘以它自己:
#time
#r "Microsoft.Office.Interop.Excel"
#r "FSharp.PowerPack.dll"
open System
open System.IO
open Microsoft.FSharp.Math
open System.Collections.Generic
let mutable Matrix1 = Matrix.create 10000 10000 0.
let matrix4 = Matrix1 * Matrix1
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
System.OutOfMemoryException: An exception 'System.OutOfMemoryException' has been raised
Microsoft.FSharp.Collections.Array2DModule.ZeroCreate[T](Int32 length1, Int32 length2)
Microsoft.FSharp.Math.DoubleImpl.mulDenseMatrixDS(DenseMatrix`1 a, DenseMatrix`1 b)
Microsoft.FSharp.Math.SpecializedGenericImpl.mulM[a](Matrix`1 a, Matrix`1 b)
<StartupCode$FSI_0004>.$FSI_0004.main@() dans C:\Users\XXXXXXX\documents\visual studio 2010\Projects\Library1\Library1\Module1.fs:line 92
Stop due to an error
Run Code Online (Sandbox Code Playgroud)
因此我有两个问题:
我的计算机上有8 GB内存,根据我的计算,10 000*10 000矩阵应该占用381 MB [以这种方式计算:10 000 * 10 000 = 100 000 000矩阵中的整数=> 100 000 …
我没有找到将简单文件 (.fs) 编译为 .exe 的方法。我尝试了这个例子,但它不起作用:
在文件 dolphin.fs 中:
let longBeaked = "Delphinus capensis"
let shortBeaked = "Delphinus delphis"
let dolphins = [ longBeaked; shortBeaked ]
printfn "Known Dolphins: %A" dolphins
Run Code Online (Sandbox Code Playgroud)您现在可以将此代码编译为 EXE,如下所示:
C:\fsharp> fsc dolphins.fs
C:\fsharp> dir dolphins.exe
Run Code Online (Sandbox Code Playgroud)但是当我这样做时,“C:\fsharp”中的“:”出现错误
我想写这种程序(这是一个简单的例子来解释我想做什么):
// #r "FSharp.PowerPack.dll"
open Microsoft.FSharp.Math
// Definition of my products
let product1 = matrix [[0.;1.;0.]]
let product2 = matrix [[1.;1.;0.]]
let product3 = matrix [[1.;1.;1.]]
// Instead of this (i have hundreds of products) :
printfn "%A" product1
printfn "%A" product2
printfn "%A" product3
// I would like to do something like this (and it does not work):
for i = 1 to 3 do
printfn "%A" product&i
Run Code Online (Sandbox Code Playgroud)
先感谢您 !!!!!
我想对stackoverflow上的"添加注释"效果做同样的事情.当用户点击链接(或按钮)时,我发现了很多关于如何打开文本区域的信息(但它是一个弹出窗口),但是我找不到这样做的方法:
当用户点击"通过电子邮件发送铭文"时
<div class="end-right-zone">
<p>Inscription by e-mail</p>
</div>
Run Code Online (Sandbox Code Playgroud)
该区域被通过电子邮件注册所需的各种信息所取代:
<div class="inscription-by-email-deployed">
<p>first name</p>
<p>last name</p>
<p>email</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我没有开发很多示例,因为它与stackoverflow上的"添加注释"效果完全相同.先感谢您