Size: a a a

2020 June 08

АВ

Андрей Вилинский... in F# Chat
Elizabeth
vr.Values <- (list :> IList<IList<obj>>)

пишет "obj list list is not compatible with IList<IList<obj>>"
ты не можешь апкастить типы с типпараметры тоже надо апкастить отдельно
источник

E

Elizabeth in F# Chat
а, точно
источник

E

Elizabeth in F# Chat
и как это сделать по красивому
источник

A

Artemy in F# Chat
Elizabeth
и как это сделать по красивому
Ну по возможности прямо при создании списка кастить. Иначе же придётся обходить отдельно (через map или CE) и кастить
источник

E

Elizabeth in F# Chat
Artemy
Ну по возможности прямо при создании списка кастить. Иначе же придётся обходить отдельно (через map или CE) и кастить
    let list = [ [box userId; box userName; box firstName; box lastName; box timeStampUTC; box serviceName; box serviceGuid; box uahSpent] ]
   let newlist = List.map (fun i -> i :> IList<obj>) list


на самом последнем слове (list) пишет "the type obj list is not compatible with IList<obj> "
источник

A

Artemy in F# Chat
Скорее всего, F#-список и не реализует интерфейс IList<_>, только IReadOnlyList<_>
источник

E

Elizabeth in F# Chat
хмм понял
источник

A

Artemy in F# Chat
Ну да, так и есть. IList подразумевает возможность редактирования себя. Фшарповский же список неизменяемый
источник

E

Elizabeth in F# Chat
List<IList<obj>> закастился без всякого булшита по типу upcast, что прекрасно
источник

E

Elizabeth in F# Chat
ебать заебись
источник

E

Elizabeth in F# Chat
лесенка
источник

VK

Viacheslav Koryagin in F# Chat
Elizabeth
ебать заебись
Если это параметры к ф-ции logInfo, то можно на одном уровне писать
источник

SN

Shub Niggurath in F# Chat
Андрей Вилинский
а как же табурет? ))
ну я не знаю как в 4 строки включить больше двух абстракций и не обидеть функции ))
кмк без абстракций никуда, не собирался спорить с этим ни в одном глазу. разве что необязательно это должны быть рекорды или интерфейсы, возможно влашин это и имел ввиду, книгу не читал
императивщина в моем понимании "я умный, канпутер тупой" и "ходи сюда, положь лист интов туда, из переданного словаря выкинь половину"
и потом хрен пойми почему тут null, надо перейти в сорцы, хуже если их нет
Приблизительно все то же самое происходит и в эфшарпе, только вместо «почему тут null” у тебя «почему тут None/Error ‘b”. Ты адвокатишь за декларативное программирование, его а эфшарпе изкоробочно нет. А та часть фп, которая есть в эфшарпе - так она сегодня есть в любом языке с лямбдами и дженериками, в тч в жаве и сишарпе. То есть является ли код функциональным по большей степени решаешь ты, по крайней мере в контексте эфшарпа
источник

SN

Shub Niggurath in F# Chat
У нас в общем случае нет чистых функций, нет контроля эффектов, нет декларативности. Мы можем это запилить сами, но сам язык нас ни к чему такому не обязывает
источник

SN

Shub Niggurath in F# Chat
Само противопоставление ООП и ФП в принципе не сильно правильное, бОльшая часть любителей поспорить на эту тему просто пытаются сказать «меня в детстве травмировало dot-notation”
источник

SN

Shub Niggurath in F# Chat
Так-то в эфшарпе 75% фишек реализовано на классах, и че-то никто не спорит, что он от этого стал менее функциональным
источник

SS

Stanisλav Seregin in F# Chat
Аминь
источник

АВ

Андрей Вилинский... in F# Chat
Shub Niggurath
Само противопоставление ООП и ФП в принципе не сильно правильное, бОльшая часть любителей поспорить на эту тему просто пытаются сказать «меня в детстве травмировало dot-notation”
с декларативностью все так. и да, меня в детстве травмировали хаскель и скала )
наверное тут еще топлю за типы и иммутабельность. язык не принуждает, но подталкивает, дает возможность, поощряет. лямбды даже в жисоне есть, но даже они не работают без неизменяемости
а испортить, как мы уже не раз видели в примерах, можно любой язык

вобщем быбо б о чем спорить и с кем. всеравно не начну хейтить влашина, и не перестану дядьку боба )
источник

АВ

Андрей Вилинский... in F# Chat
лямбда акбар!
источник

O

Orbarax in F# Chat
aλλah akbar!
источник