4
我有一些Word8
值,我加在一起。因爲這可能會導致溢出,所以結果必須是Word16
。Haskell重複使用fromIntegral時添加
有沒有更好的方式來所有這些值比添加下面一起來:
fromIntegral a + fromIntegral b + fromIntegral c + fromIntegral d + ...
其雜波的代碼沒有真正添加任何清晰?
我有一些Word8
值,我加在一起。因爲這可能會導致溢出,所以結果必須是Word16
。Haskell重複使用fromIntegral時添加
有沒有更好的方式來所有這些值比添加下面一起來:
fromIntegral a + fromIntegral b + fromIntegral c + fromIntegral d + ...
其雜波的代碼沒有真正添加任何清晰?
如果你需要混合操作(如您在您的意見建議),您可以使用這一招質量分配新變量
let [a', b', c', d'] = map fromIntegral [a, b, c, d]
in a' + b' - c' + d'
但是,如果你這樣做,操作類型很多,它的可能更容易定義你自己的 「混合」 運營商
let a !+ b = fromIntegral a + fromIntegral b
let a !- b = fromIntegral a - fromIntegral b
a !+ b !- c !+ d :: Word16
'$總和地圖fromIntegral [A,b,C,d,E,...]'? – bheklilr 2014-10-10 16:35:04
是的,這是有效的。但恐怕我可能不得不在混合運營商之間的數字,如+和 - ,所以這可能不會很好。 – Ana 2014-10-10 16:39:22
您可以始終將新變量名稱綁定到加寬值,然後在實際計算中使用這些名稱。但是,這甚至更多地輸入,而不是更少...... – MathematicalOrchid 2014-10-10 16:43:54