Какие имена типов F # и синтаксис объявления считаются идиоматическими? - PullRequest
0 голосов
/ 13 апреля 2019

F # имеет несколько способов объявить одни и те же типы. Вероятно, это связано с двойной линией F # как члена семейства ML и языка .NET. Я не смог найти никаких указаний на то, какой стиль более идиоматичен.

В частности, я хочу знать:

  • Что более идиоматично для 64-битных чисел с плавающей точкой IEEE 754 в F #, float или double?
  • Какой идиоматичный способ в F # объявить тип массива:
    • int[]
    • int array
    • array<int>

Источники:

Контекст: я работаю над некоторой документацией API, которая объясняет, как данные в хранилище данных отображаются на типы .NET, а также как эти типы обычно объявляются как в C #, так и в F #.

Ответы [ 2 ]

2 голосов
/ 13 апреля 2019

Для двойников это почти всегда float.Если вы не имеете дело как с одинарными, так и с двойными числами, и вам нужна ясность, я думаю.

Для универсальных типов обычный синтаксис, который я использую и вижу, что люди используют:

  • int option
  • int list
  • int[]
  • Для всех других типов, в том числе для F #, таких как Async, Set и Map, синтаксис угловой скобки

Единственный тип, который, по моему мнению, имеет существенное разделение, это seq (псевдоним для IEnumerable): я бы сказал, что большинство людей используют seq<int>, но значительныйколичество людей пишут int seq.В любом случае, вы обязательно должны использовать seq, а не IEnumerable.Точно так же вы должны использовать псевдоним ResizeArray для System.Collections.Generic.List.

1 голос
/ 13 апреля 2019

Справочник по F # Core Library , который кажется хорошим примером для подражания, предпочитает float, int[] и seq<int>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...