私は、次のFシャープの機能に問題が生じています:FSharpオプションとヌル
let compare (a:int option list) (b:int option list) =
let r =
if a.Tail = [None] && b.Tail = [None] then
[None]
elif a.Tail = [None] then
[b.Head;None]
elif b.Tail = [None] then
[a.Head; None]
else
if a=b then
a
else
[None]
r
私は、次の引数
compare [Some 1] [Some 0]
でそれを実行すると答えが
[null]
です
の代わりに[None]
なぜ誰かが説明できますか。ありがとうございました!
比較すると、すでに定義されているため再定義しない方がよいでしょう。 – BLUEPIXY