Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как получить результат, если само выражение есть строка / 25 сообщений из 25, страница 1 из 1
04.08.2015, 12:19
    #39022445
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Есть форма ввода с некоторыми полями.
На одно из полей сделано условие: введенное значение равно 5. Человек отправляет форму на сервер.
В итоге получаем что-то типа такого на сервере после преобразований: "5 == 5", но в строковом варианте

Как теперь получить результат эквивалентности в виде bool?
...
Рейтинг: 0 / 0
04.08.2015, 12:30
    #39022467
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,
Думаю, проблема не в том как получить результат, а в том в каком виде все это возвращается на сервер.
...
Рейтинг: 0 / 0
04.08.2015, 12:50
    #39022498
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Axeleron,

На сервер попадает все в таком виде: "value==\"5\"" или .
Всегда работа со строкой. value подставляется на сервере.
...
Рейтинг: 0 / 0
04.08.2015, 12:55
    #39022506
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
...
Рейтинг: 0 / 0
04.08.2015, 12:58
    #39022513
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Где-то в степи,

Для меня такое не прокатит, у меня все операции в строках.
Такой Expression отправляется на клиента и там еще может обрабатываться. Для js
...
Рейтинг: 0 / 0
04.08.2015, 12:59
    #39022515
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,
Я же и говорю, что-то в корне не правильно.
...
Рейтинг: 0 / 0
04.08.2015, 13:00
    #39022517
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Где-то в степи,

Например так еще: return value>="1" && value<="5". Так на клиенте и такое же я получаю на сервере
...
Рейтинг: 0 / 0
04.08.2015, 13:01
    #39022521
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,
Раз до такого степени запущено, то только парсер свой писать. Но вообще решение крайне незрелое (незрелого программиста).
...
Рейтинг: 0 / 0
04.08.2015, 13:04
    #39022527
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Axeleron,

Это мои исходные данные, не я писал.
Спросил можно ли малой кровью обойтись. Если нет, то понятно что парсить надо все
...
Рейтинг: 0 / 0
04.08.2015, 13:10
    #39022533
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,
Ну я ни на кого не намекал, если что :)
Боюсь, что придется парсер строки писать и приводить к типам и операторам, потому же обрабатывать. К сожалению, задача - УГ.
...
Рейтинг: 0 / 0
04.08.2015, 13:26
    #39022547
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,
вам на сервере нужно узнать результат "5 == 5" типа true, так я вам дал рецепт как получить его на сервере.
потом на никто глянул, и понял что вы еще на заре эволюции, там как это вы собрались експрессионом джаваскрипт
разбавить на клиенте, очень интересно гы.
...
Рейтинг: 0 / 0
04.08.2015, 13:35
    #39022562
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Где-то в степи,

Да, именно так.
Есть такой класс:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public static string GetJavaScriptExpression(this IConDes condition, string value)
        {
            var value1 = Json.Encode(condition.Value1);
            var value2 = Json.Encode(condition.Value2);

            switch (condition.Operator)
            {
                case ConditionOperator.Equals:
                    return value+ "==" + value1;
                case ConditionOperator.NotEquals:
....................................................................
            }



Нужно просто получить bool результат от условия и все
...
Рейтинг: 0 / 0
04.08.2015, 13:40
    #39022567
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,

Почему так, потому что сделано на строках. не моя прихоть. А писать парсер времени нет
...
Рейтинг: 0 / 0
04.08.2015, 13:45
    #39022573
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,

.. может, вы имеете в виду что-то типа String.Compare Method (String, String, Boolean) ??
...
Рейтинг: 0 / 0
04.08.2015, 13:54
    #39022579
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
carrotik,

надо, как на клиенте:
Код: javascript
1.
2.
3.
value = 5;
function f(){return value>="1" && value<="5"}
alert(f());



Чтобы было true и при value = 5; и при value = "5";
...
Рейтинг: 0 / 0
04.08.2015, 13:59
    #39022582
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Pavluha,

...ну так ToString эту числовую пятерку, если уж так все запутано ... буква "х" всегда будет больше буквы "у", а обе они всегда будут больше буквы "й" ...
...
Рейтинг: 0 / 0
04.08.2015, 21:15
    #39022937
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
PavluhaА писать парсер времени нет

придётся выделить время
...
Рейтинг: 0 / 0
04.08.2015, 23:20
    #39022977
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Берем ANTLR и пишем
...
Рейтинг: 0 / 0
05.08.2015, 10:48
    #39023185
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
skyANAБерем ANTLR и пишем

для такой фигни?
Юзер вообще-то не дал определение языка, может там за час можно сделать руками
...
Рейтинг: 0 / 0
05.08.2015, 10:56
    #39023200
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Winnipuhможет там за час можно сделать руками
топикстартер за час не справится
...
Рейтинг: 0 / 0
05.08.2015, 13:52
    #39023506
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
...
Рейтинг: 0 / 0
05.08.2015, 13:59
    #39023514
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
WinnipuhskyANAБерем ANTLR и пишем

для такой фигни?
Юзер вообще-то не дал определение языка, может там за час можно сделать рукамиА с ANTLR по Вашему неделю что-ли придётся сидеть? :)

Также не ясен масштаб "фигни".
...
Рейтинг: 0 / 0
05.08.2015, 15:08
    #39023584
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
Код: c#
1.
2.
3.
4.
5.
6.
 static void Main(string[] args)
        {
            Console.WriteLine(System.Linq.Dynamic.DynamicExpression.ParseLambda<int, bool>("5==5").Compile().Invoke(-1));
            Console.WriteLine(System.Linq.Dynamic.DynamicExpression.ParseLambda<int, bool>("5==6").Compile().Invoke(-1));
            Console.WriteLine(System.Linq.Dynamic.DynamicExpression.ParseLambda<int,int>("5 + 6").Compile().Invoke(-1));
        }
...
Рейтинг: 0 / 0
06.08.2015, 10:51
    #39024095
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
skyANAWinnipuhпропущено...


для такой фигни?
Юзер вообще-то не дал определение языка, может там за час можно сделать рукамиА с ANTLR по Вашему неделю что-ли придётся сидеть? :)

Также не ясен масштаб "фигни".

или больше, если юзер не сталкивался с ним. Кроме того - оно вроде как не генерирует чистый парсер в c# или есть зависимости?
Имхую, что это ттот случай, когда девелопер нырнет в тему и забудет с чего начал
...
Рейтинг: 0 / 0
06.08.2015, 14:53
    #39024401
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить результат, если само выражение есть строка
WinnipuhskyANAпропущено...
А с ANTLR по Вашему неделю что-ли придётся сидеть? :)

Также не ясен масштаб "фигни".

или больше, если юзер не сталкивался с ним. Кроме того - оно вроде как не генерирует чистый парсер в c# или есть зависимости?
Имхую, что это ттот случай, когда девелопер нырнет в тему и забудет с чего начал С чего Вы взяли, что C#, а не JavaScript :)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как получить результат, если само выражение есть строка / 25 сообщений из 25, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]