Сообщение Re[5]: F# обращение к элементу кортежа по порядковому номеру от 26.07.2021 14:56
Изменено 26.07.2021 15:28 D. Mon
Re[5]: F# обращение к элементу кортежа по порядковому номеру
Здравствуйте, varenikAA, Вы писали:
AA>Ну хорошо, в данном случае какие преимущества у предложенного способа перед матчем?
Банально меньше буковок, и не придется менять, если тупл при рефакторинге станет длиннее или короче.
AA>Может тогда и для массивов ввести вместо arr[0] arr.0 ?
Это уже экстремизм.
AA>Вот почему-то в лиспе понятие кортеж вообще не используется. Список.
Там обычно есть гетерогенный вектор, который работает как тупл и дает элементы по индексу.
Clojure:
Racket:
AA>Ну хорошо, в данном случае какие преимущества у предложенного способа перед матчем?
Банально меньше буковок, и не придется менять, если тупл при рефакторинге станет длиннее или короче.
AA>Может тогда и для массивов ввести вместо arr[0] arr.0 ?
Это уже экстремизм.
AA>Вот почему-то в лиспе понятие кортеж вообще не используется. Список.
Там обычно есть гетерогенный вектор, который работает как тупл и дает элементы по индексу.
Clojure:
> (let [a ["zero" 1 'two]] (a 2))
two
Racket:
> (let ((v #("zero" 1 two))) (vector-ref v 2))
'two
Re[5]: F# обращение к элементу кортежа по порядковому номеру
Здравствуйте, varenikAA, Вы писали:
AA>Ну хорошо, в данном случае какие преимущества у предложенного способа перед матчем?
Банально меньше буковок, и не придется менять, если тупл при рефакторинге станет длиннее или короче.
AA>Может тогда и для массивов ввести вместо arr[0] arr.0 ?
Это уже экстремизм.
AA>Вот почему-то в лиспе понятие кортеж вообще не используется. Список.
Там обычно есть гетерогенный вектор, который работает как тупл и дает элементы по индексу.
Clojure:
Racket:
Есть и еще более прямой вариант кортежей — возврат нескольких значений.
Возвращает "hi, 5 and 25".
AA>Ну хорошо, в данном случае какие преимущества у предложенного способа перед матчем?
Банально меньше буковок, и не придется менять, если тупл при рефакторинге станет длиннее или короче.
AA>Может тогда и для массивов ввести вместо arr[0] arr.0 ?
Это уже экстремизм.
AA>Вот почему-то в лиспе понятие кортеж вообще не используется. Список.
Там обычно есть гетерогенный вектор, который работает как тупл и дает элементы по индексу.
Clojure:
> (let [a ["zero" 1 'two]] (a 2))
two
Racket:
> (let ((v #("zero" 1 two))) (vector-ref v 2))
'two
Есть и еще более прямой вариант кортежей — возврат нескольких значений.
(define (foo x)
(values "hi" x (* x x)))
(let-values ([(a b c) (foo 5)])
(format "~a, ~a and ~a" a b c))
Возвращает "hi, 5 and 25".