3
考慮下面的F#代碼:重載F#辦法
[<Measure>] type pixel
[<Measure>] type inch
[<Measure>] type dot
[<Measure>] type percentage
let scaleCalculation (finalSize:float<pixel>) (originalSize:float<pixel>) =
finalSize/originalSize * 100.0<percentage>
(我知道我需要檢查originalSize爲0,但是這不是真的傑曼對這個問題)。
我想要的是超載此功能來處理英寸和每英寸點數。我認爲在度量單位上沒有任何超載的方法,但我只是想我會看到有沒有人對此有任何建議。
我知道我可以做到這一點:
let scaleCalculation (finalSize:float) (originalSize:float) =
finalSize/originalSize * 100.0<percentage>
但後來我失去finalSize和originalSize的措施檢查。我只是想確保finalSize和originalSize的度量是相同的。
任何建議,想法?
絕對超值。我想我需要用某種方法來使用泛型,但還沒有完全嘗試代碼。感謝Gradbot。嘿,你還在Google+上嗎? –
我希望我能給你提供另一個鏈接的upvote。 :-) –
你可以在google +上找到我,作爲我在gmail.com的SO用戶名 – gradbot