1
爲什麼在函數甚至在下面的函數開始之前顯示異常是否有原因?在循環中亂序發生的f#異常
let listCharacters (text:string) =
let stripv3 = text.Split([|' '|], System.StringSplitOptions.RemoveEmptyEntries) |> System.String.Concat
for i in 0..2..stripv3.Length do
let char = stripv3.Chars(i)
if char <> ' ' then
printfn "%c" char
listCharacters "honey badger is a badass"
產生以下輸出: -
System.IndexOutOfRangeException: Index was outside the bounds of the array.
h
n
y
a
g
r
s
b
d
s
有趣的是,如果我添加內按順序與出現try..with
任何操作,任何想法這是爲什麼?
輸出在哪裏?在VS2013/F#3.1中的FSI輸出結果與我的完全一致,即字符行之後的例外。 –
FSI在VS2015,坦率地說,我只是開始研究f#,所以我很確定我的期望已經結束,但我想了解爲什麼異常不是輸出的最後一行。 –
在VS2015 Enterprise中嘗試過 - 仍然如預期的那樣(FSI版本14.0.23020.0)。 –