Size: a a a

2020 December 20

I

IdiocyAcceptance in F# Chat
Хотя справедливости ради я не юзал Argu и не знаю плюсов этой библиотеки
источник

I

IdiocyAcceptance in F# Chat
Но CAF кажется просто золотом для консолек
источник

SN

Shub Niggurath in F# Chat
отец Григорий
Чойта? Прагматично
ну если вам платя за строчки кода, тогда да. тогда ой
источник

оГ

отец Григорий... in F# Chat
IdiocyAcceptance
Хотя справедливости ради я не юзал Argu и не знаю плюсов этой библиотеки
Ну там всё фшарпно. Параметры - кейсы дю. А потом по ним матчить, как и спрашивал топикстартер
источник

оГ

отец Григорий... in F# Chat
Shub Niggurath
ну если вам платя за строчки кода, тогда да. тогда ой
А вам нет? :)
источник

I

IdiocyAcceptance in F# Chat
отец Григорий
Ну там всё фшарпно. Параметры - кейсы дю. А потом по ним матчить, как и спрашивал топикстартер
Понятно, спасибо. Просто пока мне не приходилось парсить аргументы в отрыве от запуска программы, типа в рантайме или ещё как-нибудь
источник

оГ

отец Григорий... in F# Chat
IdiocyAcceptance
Но CAF кажется просто золотом для консолек
А вроде есть ещё нугет для консольного гуя! Забыл название
источник

I

IdiocyAcceptance in F# Chat
По этому вижу больше смысла в CAF - архитектура привычная для нет кора, сразу DI из коробки, можно переиспользовать кучу всякого разного. Хотя это всё если привык с DI работать
источник

I

IdiocyAcceptance in F# Chat
отец Григорий
А вроде есть ещё нугет для консольного гуя! Забыл название
Для гуя есть Gui.cs как минимум и ещё что-то было
источник

R

Roman in F# Chat
Shub Niggurath
ну если вам платя за строчки кода, тогда да. тогда ой
аргу вполне заебись. Если ваши обезьяны наговнокодили на аргу — это проблема обезьян, а не аргу
источник

I

IdiocyAcceptance in F# Chat
Roman
аргу вполне заебись. Если ваши обезьяны наговнокодили на аргу — это проблема обезьян, а не аргу
Так и про сишорп сказать можно! 🌚
источник

R

Roman in F# Chat
IdiocyAcceptance
Так и про сишорп сказать можно! 🌚
ну я аргу ковырял немного. Насколько помню — объявляешь юнион, описывающий твои консольные аргументы, а все остальное аргу делает за тебя. Чем тут быть недовольным — не знаю
источник

оГ

отец Григорий... in F# Chat
Roman
ну я аргу ковырял немного. Насколько помню — объявляешь юнион, описывающий твои консольные аргументы, а все остальное аргу делает за тебя. Чем тут быть недовольным — не знаю
Вот и я про то же. Но у дедули своё мнение
источник

SN

Shub Niggurath in F# Chat
Roman
аргу вполне заебись. Если ваши обезьяны наговнокодили на аргу — это проблема обезьян, а не аргу
наши обезьяны этот аргу написали, если что
источник

SN

Shub Niggurath in F# Chat
и они же следом написали 500 строк парсинга аргументов на своей же либе. потому что ну а вдруг придется параметры с ISS считывать?
источник

SN

Shub Niggurath in F# Chat
Roman
ну я аргу ковырял немного. Насколько помню — объявляешь юнион, описывающий твои консольные аргументы, а все остальное аргу делает за тебя. Чем тут быть недовольным — не знаю
вообще-то нет. вообще-то тебе надо объявить два типа - один для конфига, второй тот самый юнион. потом тебе надо будет запилить маппинг parsed result в этот самый тип, потому что Argu не поддерживает почти ничего из того, что поддерживают другие парсеры. в результате получается под сотню строк кода для тривиальных задач, да и те не особо нужны, потому что есть Microsoft.Extensions.Config, которые забайндят твой конфиг на файлы конфигов, на окружение, на небо и на аллаха. и потом динамически обновят значения, если что-то из этого поменяется
источник

SN

Shub Niggurath in F# Chat
а те самые 500 строк конфига (в кажном божьем entry point) всеволишь пытаются сделать то, что описано вот тут: https://docs.microsoft.com/en-us/dotnet/core/extensions/configuration-providers#command-line-configuration-provider
источник

SN

Shub Niggurath in F# Chat
(посмотреть в конфигах, посмотреть в окружении, посмотреть в CLI, если не найдено - взять дефолты)
источник

оГ

отец Григорий... in F# Chat
Shub Niggurath
вообще-то нет. вообще-то тебе надо объявить два типа - один для конфига, второй тот самый юнион. потом тебе надо будет запилить маппинг parsed result в этот самый тип, потому что Argu не поддерживает почти ничего из того, что поддерживают другие парсеры. в результате получается под сотню строк кода для тривиальных задач, да и те не особо нужны, потому что есть Microsoft.Extensions.Config, которые забайндят твой конфиг на файлы конфигов, на окружение, на небо и на аллаха. и потом динамически обновят значения, если что-то из этого поменяется
Даладно :) для комстроки и только достаточно и одного.
источник

SN

Shub Niggurath in F# Chat
отец Григорий
Даладно :) для комстроки и только достаточно и одного.
ну и возьми один провайдер.
источник