2010-07-27 6 views
12

В F #, вы можете определить пользовательские операторы, такие какF # Пользовательские операторы Старшинство

let (=~) input pattern = Regex.IsMatch(input, pattern) 

В отличие от Haskell, пользовательские операторы определяются без старшинства. Каковы приоритеты операторов пользовательских операторов в F #?

ответ

20

Приоритет оператора определяется первым символом (ами), согласно predefined table.

+2

См. Также спецификацию F #: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html#_Toc264041843 – kvb

+0

Не удалось найти приоритет операторов, начиная с ' @ ', но можно определить такие операторы, формат которых «@». – Gebb

+0

Из источника, указанного в ответе: «F # поддерживает пользовательскую перегрузку оператора, что означает, что вы можете определить свои собственные операторы. В предыдущей таблице op может быть любой допустимой (возможно пустой) последовательностью символов оператора, либо встроенной, либо определяемый пользователем. Таким образом, вы можете использовать эту таблицу, чтобы определить, какую последовательность символов использовать для пользовательского оператора для достижения желаемого уровня приоритета ». –

Смежные вопросы