Описание функции
DuplicateExpression
Создаёт дубликат выражения Lizard.
DuplicateExpression(*Expression)
Параметры
*Expression | Указатель на выражение |
Возвращаемое значение
Возвращает указатель на дубликат выраженияПример
; STARGATE
; https://www.purebasic.fr/english/viewtopic.php?t=76279
XIncludeFile "../Library/Lizard.pbi"
; Lizard всегда должен быть инициализирован до выполнения каких либо операций с ним.
If Lizard::Initialize("../Library") ; Укаэите путь к папке с Lizard.dll.
Debug "Lizard был инициализирован. Версия " + Lizard::Version()
Else
Debug "Не удалось выполнить инициализацию Lizard"
End
EndIf
Define Input.s, Output.s, *Expression
Input.s = "1+2*3"
*Expression = Lizard::InputExpression(Input) ; Преобразует строку в выражение Lizard (без вычисления).
*DuplExp = Lizard::DuplicateExpression(*Expression) ; Создаёт дубликат выражения
Debug "Входное = " + Lizard::OutputExpression(*Expression) ; Выводит это выражение. Выражение остается действительным.
Debug "Дубликат = " + Lizard::OutputExpression(*DuplExp) ; - // -
Lizard::FreeExpression(*Expression) ; Освобождает выражение, чтобы предотвратить утечку памяти, если оно больше не нужно.
Lizard::FreeExpression(*DuplExp) ; - // -
; Завершение Lizard.
Lizard::Terminate()