6
如果我想定義一個類似於標準偏差的浮點數組的擴展方法,對於float[]
類型的數組模塊或擴展使用模塊擴展會更好嗎? 喜歡:F#模塊擴展與類型擴展
module Array =
let std (arr: float[]) = ...
或
type float ``[]`` with
member this.std = ...
如果我做類型的擴展名,因爲後者,將在std
只計算一次或每次使用時間呢?
而且,後者的正確格式是什麼,實際上type float ``[]`` with
不是comile ...謝謝。
@kvb:你知道_why_他們在F#中的工作方式不同嗎? – Daniel 2011-05-20 14:15:32
@丹尼爾 - 我不知道。但是,我認爲F#的行爲確實有道理 - 爲什麼不應該鍵入擴展鏡像類型定義?構造泛型類型的實例上的方法依賴於它的類型參數似乎並不奇怪嗎? – kvb 2011-05-20 14:21:14
@kvb:是的,但它似乎對通用接口非常有意義。例如'string Join(這個IEnumerable部分)'似乎是合理的。 –
Daniel
2011-05-20 14:36:07