F # позволяет рассматривать большинство операторов как функции. Например:
let f = (+)
f 1 2 // <- 3
Однако я не уверен, возможно ли заставить этот же синтаксис работать с оператором индекса (.[...]
).
Я пробовал:
let f = (.[])
f [| 1 |] 0
Ни один из типов 'int [], int' не поддерживает оператор '. []' (С использованием внешнего компилятора F #)
И
let f = (.[])
f 0 [| 1 |]
Ни один из типов int, a [] не поддерживает оператор. [] (С использованием внешнего компилятора F #)
Я предполагаю, что .[...]
на самом деле не оператор, а специальный встроенный синтаксис, который нельзя использовать функционально, но, возможно, я что-то упустил. Можно ли использовать индекс оператора так же, как вы обычно используете функцию, подобную Array.get
?