Информация об изменениях

Сообщение Re[2]: F# обращение к элементу кортежа по порядковому номеру от 20.09.2019 15:43

Изменено 20.09.2019 15:44 zverjuga

Re[2]: F# обращение к элементу кортежа по порядковому номеру
Здравствуйте, MadHuman, Вы писали:

MH>для частых случаев есть функции fst snd.

MH>ну и тут проблема что в общем случае элементы кортежа могут быть разнотиповые.
MH>то есть тип результата потенциальной функции берущей элемент по номеру позиции будет зависеть от значения аргумента (номера позиции), что фактически вынудит привести всё к object со всем вытекающими последствиями.

ну и пусть приводило бы. я к тому, что синтактически вариант свифта более упрощен. это на самом деле бывает удобнее, чем когда программист вынужден перечислять все элементы кортежа.

например, у меня есть кортеж, и мне нужны только, к примеру, его первые три элемента. я точно знаю, что у него элементов больше трех, но мне нужны только первые три. в таком случае гораздо удобнее было бы писать так

let tuple = somefunction // функция возвращает (1, a, " ", 3+3, etc)
...
tuple.0 // обращение к жлементам кортежа
tuple.1
tuple.2


чем
let (a, b, c, _, _, _, _, _, _, _) = somefunction


порой, при чтении F# приходит мысль, что тут он уже устаревший, если сравнивать с тем же swift/kotlin/python и было бы неплохо его подогнать под более современные реалии. интересно, F# хоть развивается по версиям? или на него разработчики уже забили?
Re[2]: F# обращение к элементу кортежа по порядковому номеру
Здравствуйте, MadHuman, Вы писали:

MH>для частых случаев есть функции fst snd.

MH>ну и тут проблема что в общем случае элементы кортежа могут быть разнотиповые.
MH>то есть тип результата потенциальной функции берущей элемент по номеру позиции будет зависеть от значения аргумента (номера позиции), что фактически вынудит привести всё к object со всем вытекающими последствиями.

ну и пусть приводило бы. я к тому, что синтактически вариант свифта более упрощен. это на самом деле бывает удобнее, чем когда программист вынужден перечислять все элементы кортежа.

например, у меня есть кортеж, и мне нужны только, к примеру, его первые три элемента. я точно знаю, что у него элементов больше трех, но мне нужны только первые три. в таком случае гораздо удобнее было бы писать так

let tuple = somefunction // функция возвращает (1, a, " ", 3+3, etc)
...
tuple.0 // обращение к элементам кортежа
tuple.1
tuple.2


чем
let (a, b, c, _, _, _, _, _, _, _) = somefunction


порой, при чтении F# приходит мысль, что тут он уже устаревший, если сравнивать с тем же swift/kotlin/python и было бы неплохо его подогнать под более современные реалии. интересно, F# хоть развивается по версиям? или на него разработчики уже забили?