Size: a a a

2020 May 29

E

Elizabeth in F# Chat
у меня такое чувство, что на этот вопрос отвечали уже кучу раз, но я не смог его загуглить и найти в чате, может быть ответит кто-то в этом вопросе и тогда люди не будут его задавать кучу раз?

https://stackoverflow.com/questions/62086547/is-there-a-way-to-check-nested-option-values-in-one-pattern-in-f
источник

оГ

отец Григорий... in F# Chat
match upd with { msg = Some { text = Some str } }  -> ... str
источник

E

Elizabeth in F# Chat
ясно, а если text будет не опшн а какой-то тип у которого внутри свойство опшн, то есть надо заматчить опшн-обычный тип-опшн , как это делать?
источник

оГ

отец Григорий... in F# Chat
Elizabeth
ясно, а если text будет не опшн а какой-то тип у которого внутри свойство опшн, то есть надо заматчить опшн-обычный тип-опшн , как это делать?
Пример.
источник

E

Elizabeth in F# Chat
то есть в сишарп это можно было бы сделать так:

update?.text.value?.value1
источник

E

Elizabeth in F# Chat
то есть тут не везде матчинг
источник

оГ

отец Григорий... in F# Chat
Разбивай. Пиши по-иному. Что ещё можно посоветовать. Ещё с квотейшонами можно упороться
источник

оГ

отец Григорий... in F# Chat
Где-то был гист
источник

VS

Vasily Shapenko in F# Chat
Какая-то оторванная от реальности задача
источник

E

Elizabeth in F# Chat
ну когда вложенных типов штуки 3 то это реальная задача вполне
источник

E

Elizabeth in F# Chat
некоторые свойства опшн
источник

VS

Vasily Shapenko in F# Chat
Elizabeth
ну когда вложенных типов штуки 3 то это реальная задача вполне
Перепроектировать типы надо
источник

VS

Vasily Shapenko in F# Chat
В таких случаях
источник

VS

Vasily Shapenko in F# Chat
Ну или делать цепочку Option.map/bind
источник

VS

Vladimir Shchur in F# Chat
Elizabeth
ну когда вложенных типов штуки 3 то это реальная задача вполне
источник

YN

Yurii Nskyi in F# Chat
а что делать если наоборот? если я не нашёл значение, то нужно попробовать найти следующее и так по цепочке и в конце какое-то дефолтное поставить
источник

VS

Vladimir Shchur in F# Chat
^
источник

VS

Vladimir Shchur in F# Chat
это я получается как раз наоборот и привел пример)
источник

VS

Vladimir Shchur in F# Chat
а хотя нет
источник

YN

Yurii Nskyi in F# Chat
Vladimir Shchur
а хотя нет
хм, да вот именно, не похоже
источник