1
目前,我有以下代碼:添加重載的構造函數需要初始化代碼隱F#類型
type Matrix(sourceMatrix:double[,]) =
let rows = sourceMatrix.GetUpperBound(0) + 1
let cols = sourceMatrix.GetUpperBound(1) + 1
let matrix = Array2D.zeroCreate<double> rows cols
do
for i in 0 .. rows - 1 do
for j in 0 .. cols - 1 do
matrix.[i,j] <- sourceMatrix.[i,j]
new (rows, cols) = Matrix(Array2D.zeroCreate<double> rows cols)
new (boolSourceMatrix:bool[,]) = Matrix(Array2D.zeroCreate<double> rows cols)
for i in 0 .. rows - 1 do
for j in 0 .. cols - 1 do
if(boolSourceMatrix.[i,j]) then matrix.[i,j] <- 1.0
else matrix.[i,j] <- -1.0
我的問題就出在最後的構造函數,一個bool[,]
參數。編譯器不會讓我擺脫這兩個for循環我試圖用於在此構造函數初始化。我該如何做這項工作?
構造函數重載實際上並沒有在任何點創建Matrix。你會如何期待這個工作? – ildjarn 2011-03-06 21:54:52
對不起,我沒有那麼遠。在我的第一個循環中,事情出錯了。 – Beaker 2011-03-06 22:02:03