Распечатать страницу

Оценка выражения в Visual FoxPro

« Назад

Команда

= Expression1 [, Expression2 ...]

оценивает (инициирует вычисление) выражения Expression1 [, Expression2 ...].

Употребляется, когда нужно выполнить одну или несколько функций, не используя их результата.

Если команда содержит одно выражение, то знак = может быть опущен.

Пример:

= SomeFunc(2), SomeProc(3) && Напечатает: 2  3

SomeFunc(4)                       && Напечатает: 4

function SomeFunc(pVar)

                                            ? pVar

                                            return 2 * pVar

endFunc

procedure SomeProc(pVar)

                                            ?? pVar

endProc

Замечание. Также знак = используется в VFP и как логическая операция сравнения, и как оператор присваивания.

Функция

EVALUATE(cExpression)

оценивает выражение cExpression, заключенное в кавычки, и возвращает его результат.

Тип результата выражения может быть Character, Numeric, Currency, Date, DateTime, Logical или Memo. Длина выражения не должна превышать 255 символов.

Функция EVALUATE( ) аналогична TYPE( ), но возвращает не тип выражения, а его результат.

Выражения, содержащие EVALUATE( ), являются рашмор-неоптимизируемыми. Включение EVALUATE( ) в SQL-опцию WHERE может быть причиной неверных результатов

Примеры:

stringExpr = " 'b' $ 'abc' "

? Evaluate(stringExpr)        && Напечатает: .T.

stringExpr = 'Sqrt(25)'

? Evaluate(stringExpr)        && Напечатает: 5.00