Описание функции


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()