EVAL — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 15: Строка 15:
 
|Пример=
 
|Пример=
 
Получить значение переменной, имя которой находится в другой переменной:
 
Получить значение переменной, имя которой находится в другой переменной:
  Eval(":"+:varname)
+
  Eval( `:`+:varname )
  
 
Добываем данные из JSON:
 
Добываем данные из JSON:
  :data:=Eval(:data,`json` ),
+
  :data:=Eval( :data,`json` ),
 
  Info(
 
  Info(
   :data['providerName']
+
   :data[`providerName`]
 
  ),
 
  ),
 
  IterateList(
 
  IterateList(
Строка 31: Строка 31:
  
 
Преобразовать дату из формата ISO:
 
Преобразовать дату из формата ISO:
  :date:=`2024-04-12T15:31:13+07:00`,
+
  :date:=`2024-04-12T10:11:12+07:00`,
 
  Eval( `['`+:date+`']`,`json` )
 
  Eval( `['`+:date+`']`,`json` )
результат (тип – Date): 12.04.2024 15:31:13
+
результат (тип – Date): 12.04.2024 10:11:12
 
}}
 
}}

Версия 07:26, 15 июля 2024

Функция позволяет вычислить значение выражения, которое находится в строке. Отличается от EVALUATE_EXPRESSION только тем, что вычисление производится на чистом датасете.

Синтаксис

EVAL (Выражение, json)

Аргументы

Выражение
Строка, в которой содержится вычисляемое выражение.
json
Строка, можно задать значение "json" для парсинга JSON (начиная с версии 1.9.0.31)

Тип результата

Значение произвольного типа.

Примеры

Получить значение переменной, имя которой находится в другой переменной:

Eval( `:`+:varname )

Добываем данные из JSON:

:data:=Eval( :data,`json` ),
Info(
  :data[`providerName`]
),
IterateList(
  :data[`items`],
  :row,
  Info(
    :row[`code`]
  )
)

Преобразовать дату из формата ISO:

:date:=`2024-04-12T10:11:12+07:00`,
Eval( `['`+:date+`']`,`json` )

результат (тип – Date): 12.04.2024 10:11:12