Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, _NN_, Вы писали:
_NN>>PowerShell не подходит ?
НС>Тащить целиковый posh просто для вычисления простенького выражения? Камон, бро, это совсем уж аут оф здравый смысл. Если уж вот прям приспичило что то готовое — есть море небольших библиотек, ссылки на которые постят тут регулярно.
Сегодня выражение, завтра что-нибудь ещё понадобится.
Тут IronPython выше предлагали, он тоже немаленький.
Здравствуйте, _NN_, Вы писали:
НС>>Тащить целиковый posh просто для вычисления простенького выражения? Камон, бро, это совсем уж аут оф здравый смысл. Если уж вот прям приспичило что то готовое — есть море небольших библиотек, ссылки на которые постят тут регулярно. _NN>Сегодня выражение, завтра что-нибудь ещё понадобится.
Или не понадобится. А какашку ты уже втащил, ее теперь поддерживать.
_NN>Тут IronPython выше предлагали, он тоже немаленький.
IronPython и CS script тащить — такой же бред.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[5]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>IronPython и CS script тащить — такой же бред.
Почему нет? питон самый популярный язык на сегодня. легкий в изучении.
вообще не понятно конечно зачем ТС для соединения строк выполнение скриптов. Это же банальная интерполяция.
Проблема изначально в постановке задачи.
Нам известно что выражение хранится в текстовом поле.
если там написано: "'AAA' + 'BBBB'" то почему сразу не написать 'AAABBBB'?
если там написано: "$A + $B" где А и B некоторые переменные, то почему не использовать стандартный C# $"{A}{B}"?
если a и b поля таблицы то это вообще решается на уровне SQL.
В общем, ТС, АУ!
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[6]: Простой скрипт внутри приложения (в виде строки)
Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т.
vaa>если там написано: "$A + $B" где А и B некоторые переменные, то почему не использовать стандартный C# $"{A}{B}"?
Потому что правило может задаваться порльзователем, а не программистом.
vaa>если a и b поля таблицы то это вообще решается на уровне SQL.
И привет SQL injection?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[7]: Простой скрипт внутри приложения (в виде строки)
НС>Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т.
Все уже реализовано, но нам нужен свой велосипед.
НС>Потому что правило может задаваться порльзователем, а не программистом.
ТС четко указал конкатенация строк, какой еще пользователь?
Здравствуйте, vaa, Вы писали:
НС>>Потому что тащить большой и тяжелый движок ради копеечной функциональности — с технической точки зрения безумие. Это как мешок картошки с дачи везти карьерным самосвалом на 200т. vaa>Все уже реализовано, но нам нужен свой велосипед.
Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.
НС>>Потому что правило может задаваться порльзователем, а не программистом. vaa>ТС четко указал конкатенация строк, какой еще пользователь?
Который описывает формулу. ТС ничего не писал о том что формула статически фиксирована. И речь была не только про конкатенацию
Ну там конкатенация, добавление префикса, проверку на равенство строк и пр.
Это довольно частая задача — определение формулы вычисляемых полей пользователем.
НС>>И привет SQL injection? vaa>Почему нельзя использовать параметризацию?
Потому что параметризация крайне ограничена по возможностям, там даже список толком передать нельзя. А уж произвольный оператор через параметр — вообще без шансов.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[9]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред.
наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[10]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
НС>>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред. vaa>наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.
Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[11]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали: НС>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
А то. "У меня была проблема, и я придумал решить её, втащив в программу Питон. Теперь у меня две проблемы".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков.
сегодня формула завтра if/else.
и будет бедный пользователь изучать уникальный ЯП. когда по питону можно что угодно тупо нагуглить.
ладно. питон можно за интерфейс спрятать пока синьор пишет парсер.
ну и еще вариант не писать парсер, а написать редактор визуальный с конкретными операциями которые можно будет сериальзовать в xml.
public class Concat {
public string First {get;set;}
public string Second {get;set;}
public string Result => First + Second;
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[12]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Ночной Смотрящий, Вы писали: НС>>Затаскивание полноценного языка ради вычисления формулы — это не решение задачи бизнеса, это банальнейшая халтура. Использование Питона в данном конкретном случае не имеет ни одного преимущества, и при этом привносит в проект огромное количество недостатков. S>А то. "У меня была проблема, и я придумал решить её, втащив в программу Питон. Теперь у меня две проблемы".
Да какая проблема-то? https://www.nuget.org/packages/IronPython/3.4.0-alpha1
500 разрабов в день так не считают.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[12]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
vaa>сегодня формула завтра if/else.
Или нет. Поэтому те, кому про бизнес — те делают решение, удовлетворяющее здесь и сейчас. А когда требования поменяются — тогда и думают что дешевле, допилить свой код или уже тащить какого нибудь монстра в проект.
vaa>ну и еще вариант не писать парсер, а написать редактор визуальный
Эта безумная идея — прям болезнь новичков в программировании, особенно без профильного образования. Вкратце — нет, это намного сложнее в реализации и намного хуже по своим потребительским характеристикам. Плюсов у такого только один — можно реализовать человеку с нулевым CS бекграундом.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[13]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
НС>>IronPython и CS script тащить — такой же бред. vaa>Почему нет? питон самый популярный язык на сегодня. легкий в изучении.
Зачем тогда на C# писать, почему сразу не взять питон?
Кодом людям нужно помогать!
Re[10]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
НС>>Что реализовано? Еще раз — тащить огромный движок ради смешной функциональности это бред. vaa>наверно, каждому свое. кто-то пишет код, кто-то решает задачи бизнеса.
Если это сервис, то странное и очень плохое решение, но еще терпимо, а если разворачивать
у заказчика -- один маленький exe на шарпе и огромный питон. Ну это бред же, т.е. сразу
надо на питоне писать тогда и все.
Кодом людям нужно помогать!
Re[7]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
vaa>вопрос был задан конкретный: что-то готовое под C#. vaa>я предложил несколько вариантов, в том числе на C#.
Объяснили, что слишком тяжеловесное решение. Полно всяких простейших парсеров, на хабре
народ регулярно делает и т.д. Для начала самое то. А дальше -- "будет день, будет пища".
Кодом людям нужно помогать!
Re[11]: Простой скрипт внутри приложения (в виде строки)
S>Если это сервис, то странное и очень плохое решение, но еще терпимо, а если разворачивать S>у заказчика -- один маленький exe на шарпе и огромный питон. Ну это бред же, т.е. сразу S>надо на питоне писать тогда и все.
или заставить пользователя(тут не уверен. т.к. автор не комментирует наши споры) изучать сишарп.
питон вполне себе отличный способ добавить скриптов в программу. раз даже малышей учат ему.
видел встройку и на паскале и на java(script)(saleforce).
не вижу проблем.
а вот писать свой Интерпрета́тор. это сначала надо придумать грамматику, потом правила, потом реализовать, потом отлаживать,
а через год поймешь что написал кривой лисп
Каждый должен написать свой компилятор. недавно встречал такое выражение.
Здравствуйте, Shmj, Вы писали:
S>Кто что посоветует.
S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?
S>Есть какой-то https://github.com/oleg-shilo/cs-script Но какой-то громоздкий. Не ясно создает ли он временные файлы — желательно без них.