Документированы ли операторы двойной прямой / обратной трубы? - PullRequest
7 голосов
/ 19 мая 2010

Я помню, как читал об операторах двойной трубы - ||> и <|| - где-то и сейчас я не могу вспомнить где. Я не могу найти их на MSDN или в спецификации языка. Они где-нибудь задокументированы? </p>

Пример

let print a b = sprintf "%O %O" a b
(1, 2) ||> print
// val it : string = "1 2"

Ответы [ 2 ]

6 голосов
/ 19 мая 2010

Операторы двойных (вперед / назад) каналов задокументированы в списке операторов F # на MSDN , а также задокументированы как функция, экспортированная из модуля Core.Operators .

Это, вероятно, автоматически генерируется из документации XML в источниках F #, поэтому у страниц есть несколько загадочные имена:

В качестве дополнительного примечания, поиск оператора с использованием поисковых систем представляет собой небольшую проблему, поэтому я посмотрел в источниках F # (распространяется с выпуском CTP), а prim-types.fs включает следующее:

/// <summary>Apply a function to two values, the 
///   values being a pair on the left, the function on the right</summary>
/// <param name="arg1">The first argument.</param>
/// <param name="arg2">The second argument.</param>
/// <param name="func">The function.</param>
/// <returns>The function result.</returns>
val inline (||>): arg1:'T1 * arg2:'T2 -> func:('T1 -> 'T2 -> 'U) -> 'U

Я собирался порекомендовать источники F # в качестве хорошей документации для такого рода вещей (которыми они, безусловно, являются), но затем я вставил часть тега <summary> в Google и нашел страницы, упомянутые выше :-) .

1 голос
/ 19 мая 2010

Смотрите ответ @Tomas. Ключевым аспектом является то, что это просто функции в библиотеке, поэтому вы хотите посмотреть в документации по библиотеке (а Core.Operators содержит этих парней).

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