Здравствуйте, Shmj, Вы писали:
S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?
Здравствуйте, Shmj, Вы писали:
S>Кто что посоветует.
S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?
Core?
#r "nuget: Microsoft.CodeAnalysis.CSharp.Scripting"open Microsft.CodeAnalysis.CSharp.Scripting
let result:obj = CSharpScript.EvaluateAsync("1 + 1").Result
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, bnk, Вы писали:
bnk>https://github.com/microsoft/ClearScript
bnk>cs-script в принципе тоже нормальный, но намного медленее Google V8, если тебе склрость важна
Эта штука при запуске требует нейтивные ClearScriptV8.linux-x64.so
Нет ли чего-нибудь без таких зависимостей сложных?
Re[3]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Shmj, Вы писали:
S>Насколько быстро оно работает, не создает ли файлов? Если на каждый запрос запускать такой скрипт — не сильно дорого?
работает со скоростью сишарпа, конечно же.
не создает.
что значит дорого?
using System;
using static System.Console;
using System.Security.Cryptography;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
using Microsoft.CodeAnalysis.CSharp.Scripting;
public class ScriptVsByteCode {
[Benchmark]
public int Script() => (int)CSharpScript.EvaluateAsync("1 + 1").Result;
[Benchmark]
public int ByteCode() => 1 + 1;
}
static class Program {
static void Main() {
var summary = BenchmarkRunner.Run<ScriptVsByteCode>();
}
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, vaa, Вы писали:
vaa>можно еще попробовать vaa>https://ironpython.net/download/
Из подводных камней:
— запуск скрипта требует времени на инициализацию (когда-то, когда я применял, оно измерялось единицами миллисекунд, если не десятками)
— стандартные классы (типа string) имеют свою питоновскую реализацию, при том что остальные дотнетовские классы как родные
Re: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Shmj, Вы писали:
S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?
Что скрипт должен уметь?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового? НС>Что скрипт должен уметь?
Операции со строками, которые есть даже в самых простых скриптовых языках. Ну там конкатенация, добавление префикса, проверку на равенство строк и пр.
Здравствуйте, Shmj, Вы писали:
S>>>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового? НС>>Что скрипт должен уметь? S>Операции со строками, которые есть даже в самых простых скриптовых языках. Ну там конкатенация, добавление префикса, проверку на равенство строк и пр.
Т.е. просто одно несложное выражение?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Shmj, Вы писали:
НС>>Т.е. просто одно несложное выражение? S>Типа того.
Тогда проще всего ознакомиться с алгоритмом Пратта и накидать нужный движочек за пару часов с нуля. Если время работы важнее времени старта — накинь еще пару часиков на реализацию простенького компилятора. В любом случае, за рабочий день, максимум два справишься.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Тогда проще всего ознакомиться с алгоритмом Пратта и накидать нужный движочек за пару часов с нуля. Если время работы важнее времени старта — накинь еще пару часиков на реализацию простенького компилятора. В любом случае, за рабочий день, максимум два справишься.
В наше время уже так не делают. Есть nuget, есть sof. Все что сверх того — то от лукавого.
Re[7]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Shmj, Вы писали:
НС>>Тогда проще всего ознакомиться с алгоритмом Пратта и накидать нужный движочек за пару часов с нуля. Если время работы важнее времени старта — накинь еще пару часиков на реализацию простенького компилятора. В любом случае, за рабочий день, максимум два справишься. S>В наше время уже так не делают.
В нашще время тем более так делают, потому что современные языки и платформы позволяют это делать намного проще.
S>Есть nuget, есть sof. Все что сверх того — то от лукавого.
Тебе шашечки или ехать?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, Shmj, Вы писали:
S>Кто что посоветует.
S>Нужно чтобы приложение из базы данных брало простой скрипт в виде строки. Подставляло некоторые параметры туда. Что есть из готового?
S>Есть какой-то https://github.com/oleg-shilo/cs-script Но какой-то громоздкий. Не ясно создает ли он временные файлы — желательно без них.
PowerShell не подходит ?
Есть возможность полного контроля песочницы если надо.
Как язык есть некоторые специфичные моменты, зато легко и просто встраивается и тестируется.
Здравствуйте, Shmj, Вы писали:
НС>>Тогда проще всего ознакомиться с алгоритмом Пратта и накидать нужный движочек за пару часов с нуля. Если время работы важнее времени старта — накинь еще пару часиков на реализацию простенького компилятора. В любом случае, за рабочий день, максимум два справишься.
S>В наше время уже так не делают. Есть nuget, есть sof. Все что сверх того — то от лукавого.
Попробуй ещё загуглить на гитхабе по ключевым словам. Если увидишь иероглифы, это скорее всего то что тебе нужно. Китайцы не стесняются самостоятельно код писать.
Re[2]: Простой скрипт внутри приложения (в виде строки)
Здравствуйте, _NN_, Вы писали:
_NN>PowerShell не подходит ?
Тащить целиковый posh просто для вычисления простенького выражения? Камон, бро, это совсем уж аут оф здравый смысл. Если уж вот прям приспичило что то готовое — есть море небольших библиотек, ссылки на которые постят тут регулярно.