@Fsharp_chat

Страница 72 из 772
Evgeniy
25.04.2017
08:01:26
Адово.

@the_RAMZAY Давай я тебе куплю книгу по матлогике, а? :)

Anton
25.04.2017
08:02:46
Этот пацанчик на заре 2000х преподавал в моём универе и препадша по логике/философии мне принесла эту книженцию, так как их было всего 3000 шт.

@gsomix не, пасибо =) у меня уже книг по логике, теории множеств, типов и категорий хватает. Осталось это всё осилить.

Google
Nikolay
25.04.2017
09:46:27
Такой вопрос немного нубский: let a = Process.Start("blabla.exe") В данном коде, при передаче 'a' как аргумента в C# функцию, каждый раз будет новый процесс создаваться? let aWrapper1 = SomeProcessWrapper(a); let aWrapper2 = SomeProcessWrapper(a);

Evgeniy
25.04.2017
09:47:45
Нет, не будет.

Nikolay
25.04.2017
09:47:49
Или это эквивалентно будет следующему коду: var a = Process.Start("blabla.exe"); var aWrapper = new SomeProcessWrapper(a); var bWrapper = new SomeProcessWrapper(a);

Нет, не будет.
Окей, спасибо)

Evgeniy
25.04.2017
10:04:15
@easemashko Привет!

Евгений
25.04.2017
10:58:20
Привет

Friedrich
25.04.2017
13:09:36
А это что? Что-то в первый раз слышу
Это штука для серверного рендеринга React и Angular2.

Тут есть про какие-то фигуры модуса. Они напоминают 2д версию лямбда-куба.
А всё правильно, я тоже на логике это изучал. Субъект, денотат, всякое такое.

Anton
25.04.2017
13:45:03
Понятненько

Vasily
25.04.2017
14:00:10
Кстати, кто-нить с fsi.exe игрался?

Nikolay
25.04.2017
14:00:35
Кстати, кто-нить с fsi.exe игрался?
А кто-то с ним не играется?)

Постоянно использую

Google
Vasily
25.04.2017
14:00:45
Я про пребилд эвенты

Nikolay
25.04.2017
14:01:02
Немного не понял

Vasily
25.04.2017
14:01:30
Ну я хочу в пребилд эвенте из папки проекта запустить свой скрипт, который генерит один из исходников в проекте

Nikolay
25.04.2017
14:01:48
Через fsi?

Vasily
25.04.2017
14:01:51
Угу

Nikolay
25.04.2017
14:02:01
Может лучше fsx?

Vasily
25.04.2017
14:02:05
Чет он мне ошибку 9009 выдает

Nikolay
25.04.2017
14:02:07
Использовать

Vasily
25.04.2017
14:02:18
Ну fsx файл, да

Nikolay
25.04.2017
14:02:45
Ааа, ну хз тогда

Читал как раз сегодня в книжке про это

Vasily
25.04.2017
14:05:03
А, нашел, в чем дело

Так, парни

Я-таки запилил скрипт

Который наружу тащит sql команды

Из списка файлов

Это ни разу не type provider, но что надо, делает

Можно пушить в гитхаб как ORM %)

Nikolay
25.04.2017
14:09:09
А он будет работать с БД, которые не mssql?)

Vasily
25.04.2017
14:09:56
Ну при условии использования тайп провайдера, использующего то, что надо -да

Google
Vasily
25.04.2017
14:10:08
Это ж тупой кодогенератор

Есму что напишешь, то и будет

Nikolay
25.04.2017
14:10:40
Ну так подожди, оно же у тебя запросы парсит, или как?

Vasily
25.04.2017
14:10:47
Парсит

На предмет параметров

Остальное пусть SqlCommandProvider делает

Nikolay
25.04.2017
14:11:15
Короче, выкладывай на гитхаб, посмотрим)

Vasily
25.04.2017
14:11:20
В целом на данный момент только MSSQL

35 строк

Чо там выкладывать

Igor
25.04.2017
14:12:50
Vasily
25.04.2017
14:13:45
https://gist.github.com/vshapenko/5c6611e157916a0a35a853bc37a854ec

Nikolay
25.04.2017
14:16:17
Опять .Net Framework

Нужен кор)

Vasily
25.04.2017
14:16:41
Я решаю свои специфические задачи

Имхо, можно и под кор переписать

Летучая
25.04.2017
14:16:49
Блин, чо ты переносы строк не ставишь (

Vasily
25.04.2017
14:17:04
Из студии скопировал

Летучая
25.04.2017
14:17:13
У F# кстати нет своих гайдлайнов типа Pep8?

Vasily
25.04.2017
14:17:24
Какие-то есть

Google
Vasily
25.04.2017
14:17:41
Вышеприведенный скрипт - просто proof of concept

Летучая
25.04.2017
14:19:27
Забавно

Методы и свойтсва надо писать PascalCase

Nikolay
25.04.2017
14:19:44
В коре SqlCommandProvider'ов нет же

Летучая
25.04.2017
14:19:56
А про идентейшон ничего не написано, сами в примерах когда как пишут ((

Nikolay
25.04.2017
18:03:19
Есть тип str option, нужно вернуть "" если None, иначе вернуть эту же строку, как это сделать?

Знаю только вариант с match

Evgeniy
25.04.2017
18:09:20
@Dolfik Option.defaultValue

Nikolay
25.04.2017
18:09:55
@Dolfik Option.defaultValue
Забыл уточнить, нужно со str ещё манипуляции произвести

Admin
ERROR: S client not available

Nikolay
25.04.2017
18:10:02
Функцию применить к ней

Evgeniy
25.04.2017
18:10:57
Это уже не похоже на простую функцию. :)

Nikolay
25.04.2017
18:13:41
Вот такая функция: let args = param |> Seq.map (fun x -> x.Key + "=" + x.Value.ToString()) |> String.concat "&" Преобразует IDictionary<string, object> в параметры url запроса

В функцию передаётся: param: IDictionary<string, obj>

И нужно сделать, чтобы аргумент param был option, и если он None, то в let args возвращалась пустая строка

Надеюсь понятно объяснил)

Klei
25.04.2017
18:16:49
Roman
25.04.2017
18:19:50
Ув. @techiedesu призывают в gitter https://gitter.im/fsharplang_ru/Lobby

Roman
25.04.2017
18:21:50
Отписался.
Спасибо.

Google
Nikolay
25.04.2017
18:23:35
Klei
25.04.2017
18:25:08
И нужно сделать, чтобы аргумент param был option, и если он None, то в let args возвращалась пустая строка
let args (param: System.Collections.Generic.IDictionary<string, obj> option) = param |> Option.map ( Seq.map (function KeyValue (key, value) -> sprintf "%s=%O" key value) >> String.concat "&") |> Option.defaultValue ""

Evgeniy
25.04.2017
18:33:09
Только функцию, которая в map, лучше отдельно вынести.

Pavel
25.04.2017
19:13:12
Я всегда url-билдером пользовался

HttpValueCollection

(чтобы не забыть, что энкодить надо)

Nikolay
25.04.2017
19:22:00
Ещё один глупенький вопрос, у меня есть функция, которая может принимать int либо int64, и конвертить его в строку, чтобы работать одновременно с двумя типами нужно отдельную функцию писать?

let optionArg arg) = arg |> Option.map (fun i -> i |> string) |> Option.defaultValue ""

Такая функция

Artemko
25.04.2017
19:24:23
Рантайм еррор будет

Если дашь туда значение, не кастующееся в строку

Nikolay
25.04.2017
19:25:24
Я знаю

Там всего два типа могут быть

int и int64

Artemko
25.04.2017
19:25:50
Они тоже не кастуются)

Nikolay
25.04.2017
19:26:28
Просто чтобы не копипастить одну и ту же строку

Artemko
25.04.2017
19:26:48
Двойка мне

Nikolay
25.04.2017
19:27:04
"123" |> int тоже кастуется, если что)

Но подожди, |> это же не casting

Casting это :>

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