Size: a a a

2021 March 26

TK

Traveller Kolsky in F# Chat
Если говорить про теорию типов, то, скорее всего, имеет
источник

A

Alexandr in F# Chat
Ну мы ж тут про F# вроде как. И вопрос тоже был конкретно по коду на F#.
источник

PD

Prunkles Dreemurr in F# Chat
Alexandr
unit - это, по-моему, специальный тип, и с туплами ничего общего не имеет.
unit имеет настолько же много чего общего с (a, b), насколько и (a, b) c (a, b, c): с точки зрения фшарпа — ничего, с точки зрения теории типов — много
источник

VZ

Vlad Zaa in F# Chat
Да. Я именно про имплементацию фшарпа говорил. Там это отдельный тип, который к туплам отношения не имеет.
источник

P

Pavel in F# Chat
Я где-то читал что синтаксис () специально ввели, чтоб ассоциация с пустым туплем была
источник

VZ

Vlad Zaa in F# Chat
Pavel
Я где-то читал что синтаксис () специально ввели, чтоб ассоциация с пустым туплем была
Со времён мл наверное. Там юнит 0-tuple называют, хотя у них разная семантика. Я понимаю почему, туплы - продукты типов, 0-tuple продукт отсутствия типов. Но с точки фшарпа как языка например он ничего общего с туплами не имеет.
источник

VL

Vladimir Lozhnikov in F# Chat
в свифте у кортежей есть очень классная штука. сам кортеж можно обозвать одним словом. а вот доступ к элементам, либо по именам, либо, если имен нет, то по порядковым номерам.

например

let tuple = … // аналог let a, b c = …
tuple.0, tuple.1, tuple.2 // аналог a, b, c или tuple.a, tuple.b, tuplr.c

вот бы в фшарпик такое
источник

g

gsomix in F# Chat
Vladimir Lozhnikov
в свифте у кортежей есть очень классная штука. сам кортеж можно обозвать одним словом. а вот доступ к элементам, либо по именам, либо, если имен нет, то по порядковым номерам.

например

let tuple = … // аналог let a, b c = …
tuple.0, tuple.1, tuple.2 // аналог a, b, c или tuple.a, tuple.b, tuplr.c

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

P

Pavel in F# Chat
В фарше же можно
let a, b, c = tuple
источник

I

IdiocyAcceptance in F# Chat
Vladimir Lozhnikov
в свифте у кортежей есть очень классная штука. сам кортеж можно обозвать одним словом. а вот доступ к элементам, либо по именам, либо, если имен нет, то по порядковым номерам.

например

let tuple = … // аналог let a, b c = …
tuple.0, tuple.1, tuple.2 // аналог a, b, c или tuple.a, tuple.b, tuplr.c

вот бы в фшарпик такое
В C# давно же сделали для людей
источник

P

Pavel in F# Chat
А для именования мемберов - рекорд
источник

VS

Vasily Shapenko in F# Chat
Тут, видимо, тайп астронавт по натуре все же
источник

I

IdiocyAcceptance in F# Chat
хочешь - обращайся по Item1, Item2 и так далее. Хочешь - сразу именованные поля возвращай
источник

VL

Vladimir Lozhnikov in F# Chat
можно. а можно и по номерам
источник

VL

Vladimir Lozhnikov in F# Chat
иногда это удобно
источник

I

IdiocyAcceptance in F# Chat
Vasily Shapenko
Тут, видимо, тайп астронавт по натуре все же
Присоединяюсь к наблюдениям
источник

I

Igor in F# Chat
еще есть fst snd. Если хочешь имена еще есть анонимные рекорды
источник

АВ

Андрей Вилинский... in F# Chat
"В C# давно сделали для людей", которые хотят запутать других людей. Вредная штука на самом деле.
Или деструктурируй на месте, с понятными именами, или добавь рекорд, а не это вот "в свифте классное гуано"
источник

R

Roman in F# Chat
Vladimir Lozhnikov
можно. а можно и по номерам
То ты хочешь, чтобы таплы с разной длиной вели себя как один тип, то ты хочешь по номерам обращаться к элементам. Возьми уже массив, как тебе тут миллион раз говорили, и не морочь людям голову
источник

VL

Vladimir Lozhnikov in F# Chat
я уже взял массив, голову ты морочишь себе сам. я рассказываю, как это, в том числе сделано, в других языках, и на мой взгляд - это удобно в некоторых случаях.
источник