Size: a a a

2021 January 21

I

IdiocyAcceptance in F# Chat
Ну тут не совсем ясно, ты передаёшь функцию, которая возвращает строку или кортеж строк типа
источник

I

IdiocyAcceptance in F# Chat
И компилятор сходит с ума немного
источник

I

IdiocyAcceptance in F# Chat
Мб с актив паттернами тоже есть похожие примеры, которые ломают общий кейс
источник

g

gsomix in F# Chat
IdiocyAcceptance
Кто в курсе, это баг или нет?
Какая ошибка?
источник

I

IdiocyAcceptance in F# Chat
gsomix
Какая ошибка?
Ожидалась тупля с 3 элементами, а получили с двумя
источник

I

IdiocyAcceptance in F# Chat
Тоже самое если матчить 4 элемента, не важно
источник

I

IdiocyAcceptance in F# Chat
Все такие конструкции должны быть взяты в скобки в середине
источник

I

IdiocyAcceptance in F# Chat
Иначе ожидалась тупля Х, а получили тупля 2
источник

g

gsomix in F# Chat
@en3tho А первый кейс нормально работает?
источник

g

gsomix in F# Chat
Можешь код кинуть?
источник

I

IdiocyAcceptance in F# Chat
gsomix
@en3tho А первый кейс нормально работает?
Да, первый кейс норм.
источник

g

gsomix in F# Chat
IdiocyAcceptance
Да, первый кейс норм.
Ты в рантайме проверил?
источник

g

gsomix in F# Chat
В идентификатор y должен кортеж целиком матчиться.
источник

I

IdiocyAcceptance in F# Chat
gsomix
В идентификатор y должен кортеж целиком матчиться.
let inline (|Eq|_|) v2 v1 = if v1 = v2 then Some() else None
let inline (|Exactly3|_|) lst =
   match lst with
   | [ x, y, z ] -> Some (x, y, z)
   | _ -> None

let test() lst =
   match lst with
   | Exactly3 (x, Eq 50 as y, z) -> ()
   | _ -> ()
источник

I

IdiocyAcceptance in F# Chat
Минимальное репро
источник

I

IdiocyAcceptance in F# Chat
Тут ошибка
источник

g

gsomix in F# Chat
gsomix
Ты в рантайме проверил?
А это?
источник

g

gsomix in F# Chat
источник

g

gsomix in F# Chat
Во всех случаях нужно заключать шаблоны в скобки.
источник

g

gsomix in F# Chat
Иначе кортежи сопоставляются не так, как ожидается.
источник