Size: a a a

2021 June 06

МП

Миша Проказин... in F# Chat
Никак не могу понять что значит это исключение. Кажется, будто дело в %%value, но я не понимаю откуда берётся это исключения. Откуда там ожидание выражения какого-то конкретного типа?
источник

RM

Roman Melnikov in F# Chat
Просит указать явно тип?
источник

МП

Миша Проказин... in F# Chat
Этот злополучный Book - это вообще тип, который поставщик типов собирает. А тип (Book list) - это тип аргумента функции, для которой эта строчка - элемент реализации.
источник

МП

Миша Проказин... in F# Chat
Я не могу аннотировать тип таким образом. У меня на этапе написания исходников нет информации о том что там будет за тип.
источник

МП

Миша Проказин... in F# Chat
Я просто не понимаю, почему он сыпется. value имеет тип Expr. С моей точки зрения, не важно какой тип будет у выражения под капотом (хотя конкретно в данном случае, он как раз и должен быть Book list. Но я же там даже касчу к обжекту. Почему кто-то из Microsoft.FSharp.Quotations кидает этот эксепшн?
источник

SN

Shub Niggurath in F# Chat
Если вы ещё не поняли, то интерактив - это жипутер. Просто надо же как-то выделяться из толпы
источник

RM

Roman Melnikov in F# Chat
Попробуй не кастить?)
источник

МП

Миша Проказин... in F# Chat
Да я за два дня уже успел начать по символам правильный ответ попытаться подобрать.
источник

МП

Миша Проказин... in F# Chat
Ровно тоже самое.
источник

RM

Roman Melnikov in F# Chat
:((
источник

МП

Миша Проказин... in F# Chat
Нашёл исходники и понял
источник

МП

Миша Проказин... in F# Chat
Вернее, возможно догадался
источник

МП

Миша Проказин... in F# Chat
Там типа выбирается тип для встраиваемого Expr'а. В моём случае это получился obj. И при встраивание в лучших традициях происходит строгое сравнение типов.
источник

МП

Миша Проказин... in F# Chat
Что делает Expr.Coerce? Кастит экспр?
источник

RM

Roman Melnikov in F# Chat
Expr.Coerce(source, target)


Builds an expression that represents the coercion of an expression to a type
источник

RM

Roman Melnikov in F# Chat
источник

МП

Миша Проказин... in F# Chat
Ну вот я это прочитал, но всё равно не понял.
источник

МП

Миша Проказин... in F# Chat
Я не понимаю что они имеют ввиду под принуждением.
источник

RM

Roman Melnikov in F# Chat
Звучит как принудительный каст
источник

МП

Миша Проказин... in F# Chat
И мою проблему "Corece(value, typeof<obj>)" не решил, эксепшн тот же.
источник