我是F#的新手,我試圖做一個複雜類型的簡單模式匹配,但我找不到這樣做的方式。查看下面的僞代碼來解釋我想要做的模式匹配。F#與複雜類型匹配
type Vector= {X:int; Y:int}
let calculateDirection vector =
match vector with
| vector.X=0 && vector.Y>0 -> "N" // pseudo code
| vector.X>0 && vector.Y>0 -> "NE" // pseudo code
| vector.X>0 && vector.Y=0 -> "E" // pseudo code
| vector.X>0 && vector.Y<0 -> "SE" // pseudo code
| vector.X=0 && vector.Y<0 -> "S" // pseudo code
| vector.X<0 && vector.Y<0 -> "SW" // pseudo code
| vector.X<0 && vector.Y=0 -> "W" // pseudo code
| vector.X<0 && vector.Y>0 -> "NW" // pseudo code
| _ -> "Error"
我讀了一些教程(https://fsharpforfunandprofit.com/posts/match-expression/),但它總是簡單的場景,並沒有幫助我很多。或者我只是不明白他們。
在此先感謝。
謝謝,我用積極的方式解決方案,因爲它是確實好多了可讀性。 –