我開始在F#中編寫代碼,並從函數調用函數作爲參數 - 在線有大量的學習資源。現在我正試圖將這些作品放在一些不僅僅是一些功能集合中。不幸的是,我沒有發現許多處理結構,設計,甚至是'比特'如何結合在一起的資源。應該將F#函數放在模塊,類或其他結構中嗎?
我發現namespace
關鍵字(例如namespace MyOnlyNamespace
),但我得到的,我已經放在命名空間中的功能的編譯器錯誤:
命名空間不能包含的值。考慮使用模塊來保存您的值聲明。
當我添加module CoolFunctions
我得到
在定義構造結構的意外啓動。預計「=」或其他標記
所以我有一個多部分的問題(但請你回答,你可以在任何部分)
- 什麼是模塊?
- 它就像一個類(就像一個VB.NET模塊)還是其他東西?
- 如果還有別的,那麼F#中有沒有類?
- 是否還有其他結構可以代替我使用?
- 如何聲明模塊?
感謝您的回答。請注意,[F#組件設計指南](http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/fsharp-component-design-guidelines.pdf)建議使用標準。 NET命名約定 - 即類型,方法和命名空間的PascalCase,以及參數和局部變量的camelCase。 –
@KirkBroadhurst - 是的,推薦的類型/成員的命名非常清晰。 「let」限定值的情況並不明顯。 F#組件指南建議使用_camelCase ...或... PascalCase_以及註釋_let-bound值在遵循傳統功能設計模式時通常是公開的 。但是,通常在使用PascalCase時,可以使用其他標識符作爲其他語言._ –
作爲面向公共C#/ VB.Net的公用C#/ VB.Net值的替代方法,可以將camelCase與[];) –