@Fsharp_chat

Страница 103 из 772
Pig
06.05.2017
15:57:57
fixed

Evgeniy
06.05.2017
15:59:11
@greenest_pig Так ты спрашивай конкретный вопрос, может кто ответит.

Pig
06.05.2017
16:00:32
Конкретные вопросы у меня другие, просто интересно как акка.нет с фшарпом работает.

Google
Pig
06.05.2017
16:09:07
Конкретный вопрос: как проще всего натянуть консольльное приложение на windows-сервис?

Roman
06.05.2017
16:34:24
Конкретные вопросы у меня другие, просто интересно как акка.нет с фшарпом работает.
Нормально работает) https://github.com/Horusiath/Akkling + там есть их F# API + есть возможность использовать классы как в C# API

для F# есть https://github.com/haf/Topshelf.FSharp но я не пробовал

Dmitry
06.05.2017
16:43:18
не про F#, а C# но тут вроде умные все, знать должны - есть переменная типа object, есть её какой-то конкретный тип полученый через GetType(). Можно ли без условных операторов с проверками закастить object в конкретный тип?

Dmitry
06.05.2017
16:44:26
нет к сожалению

Roman
06.05.2017
16:44:40
без условных опреторов н ос проверкой? Это без if? а ?: можно?

Dmitry
06.05.2017
16:45:17
так ?: те же яйца только в профиль

Roman
06.05.2017
16:45:29
да, но на всякий случыай уточнил)

Dmitry
06.05.2017
16:46:01
блин, почему переменную типа Type нельзя использовать как тип?

Combot
06.05.2017
16:46:31
combot.org/chat/-1001116883766

Google
Dmitry
06.05.2017
16:50:45
Это у меня боль от того, что есть 2 Dict<string, object> и их надо сравнить по значениям - а object{int} 6 != object{int} 6 потому что сравниваются ссылки упакованых значений.

Dmitry
06.05.2017
16:53:15
private static bool AreRowsEqual(Dictionary<string, object> fst, Dictionary<string, object> snd) { if (fst.Count == snd.Count) { foreach (var item in fst) { if (!snd.ContainsKey(item.Key)) { return false; } var sndVal = snd[item.Key]; var fstVal = item.Value; if (fstVal != sndVal) // НЕ СРАВНИВАЕТ НОРМАЛЬНО { return false; } } return true; } return false; }

Roman
06.05.2017
16:55:27
хм.

Dmitry
06.05.2017
17:00:04


Dmitry
06.05.2017
17:04:42
Dictionary<string, object> d1 = new Dictionary<string, object?) { { "a", 1 }, { "b", "string" } }; Dictionary<string, object> d2 = new Dictionary<string, object?) { { "a", 1 }, { "b", "string" } }; var b = AreRowsEqual(d1, d2);

даёт False

Ой так оно верно работает, я "не" забыл в сравнении

Всем спасибо!

Roman
06.05.2017
17:06:17
https://ideone.com/s2IJb4

а, поздно)

Dmitry
06.05.2017
17:06:25
Переносы рабочих дней - зло

Roman
06.05.2017
17:07:34
Dictionary<string, object> d1 = new Dictionary<string, object?) { { "a", 1 }, { "b", "string" } }; Dictionary<string, object> d2 = new Dictionary<string, object?) { { "a", 1 }, { "b", "string" } }; var b = AreRowsEqual(d1, d2);
чтоб не было смайлов в коде нужно использовать `-кавычки для одной строки и три таких кавычки для многострочного текста

Klei
06.05.2017
17:17:15
Evgeniy
06.05.2017
17:58:49
Vasily Привет!

Google
Vasily
06.05.2017
17:59:30
привет :)

смотрю, сравниваем дикшенари на сишарпе :)

Nikolay
06.05.2017
18:00:52
привет :)
Привет)

Vasily
06.05.2017
18:01:09
москва есть?

Nikolay
06.05.2017
18:01:16
Нафлудили вы тут)

москва есть?
Да, тут есть вроде такие

Evgeniy
06.05.2017
18:08:55
@neftedollar Тут москвичей спрашивают. :)

Vasily
06.05.2017
18:09:26
да нет, это я так

чтоб разговор поддержать

Nikolay
06.05.2017
18:22:42
Нас тут из регионов достаточно)

Надо встретиться фшарпистами, пива попить ?

Vasily
06.05.2017
18:23:23
а толку то

Летучая
06.05.2017
18:23:37
Vasily
06.05.2017
18:24:14
что я наблюдаю - народ не любит F#. Активно так не любит.

Летучая
06.05.2017
18:24:21
кто не любит

я люблю

с++ не люблю

а F# оч даже

Vasily
06.05.2017
18:24:32
пропагандировать отпадает всякое желание

Google
Nikolay
06.05.2017
18:24:38
Vasily
06.05.2017
18:25:05
99% программеров и тестеров вокруг меня на работе

Nikolay
06.05.2017
18:25:28
Admin
ERROR: S client not available

Nikolay
06.05.2017
18:25:36
И причём тут тестеры?

Vasily
06.05.2017
18:26:10
С#. Тестеры притом, что они пишут тесты.

Nikolay
06.05.2017
18:27:06
С#. Тестеры притом, что они пишут тесты.
Я думал ты про тестировщиков

Это такое дело

Они пробовали хоть писать на нём?

Язык всё равно не простой, и императивным людям не понятен сразу, поэтому может и не зашло

Летучая
06.05.2017
18:28:16
Ой да что там непростого

Nikolay
06.05.2017
18:28:32
Ой да что там непростого
Сам подход к написанию кода

Если писать в императивном стиле, фишки не поймёшь

Летучая
06.05.2017
18:28:46
за 2 дня осилил на уровне "пишу что хочу"

его можно хоть как беттер Срешетка использовать

Если писать в императивном стиле, фишки не поймёшь
це так но рано или поздно ты поймешь, что императивно дольше и путаннее, чем декларативно

Evgeniy
06.05.2017
18:33:42
Vasily Это довольно грустно слышать, учитывая, что у вас F# в продакшене.

Alexey
06.05.2017
20:02:45
москва есть?
Василий, Вы с Касперского?

В у меня наоборот получилось продать f# коллегам и начальству, путем семинаров и презентаций

Google
Roman
06.05.2017
20:20:38
Есть возможность рассказать об этом побольше?

Alexey
06.05.2017
20:21:29
Чуть позже

Vasily
06.05.2017
20:32:57
История моих взаимоотношений с Касперским полна таинственного молчания эйчаров...

Не обращайте внимания, это все греческие вина

Alexey
06.05.2017
21:28:03
Ну вообщем, по пути от одного питерского бара к другому могу написать про опыт. Чтобы иметь удобные концепции под рукой и для слома ментального барьера колег, сделал t4 генератор record'ов и discriminated union'ов + pattern matching по ним

За основу взял синтаксис f#, с сопутствующей генерацией structure equality Что позволило компактно описывать domain

В рабкать c# проекта

Все восприняли новые возможности положительно

Сделал либу и объяснил концепцию Option, Either в рамках того же c#

Каждый раз аппелируя к тому, что в f# это уже есть

Причем , опеределив option как struct , позволило избавиться от явного использования null'ов во всем проекте

+ добавив соответствующие extention method'ы стало можно строитьбезопасные вычисления над option'ами в рамках sql linq синтаксиса

В презентациях очень много использовал адаптированные слайды Scott Walshin'а

Привый код на f# в проекте появился благодаря продвижения type provider'ov SqlClient

Страница 103 из 772