Рубрики
Без рубрики

Компилированные VS интерпретируются: Пример кода

Я пишу код в Python (интерпретировать язык) в течение некоторого времени и, как и ожидалось, без сознания … Помечено Python, NIM, сегодня предвещается.

Я пишу код в Python (интерпретировать язык) в течение некоторого времени, и, как и ожидалось, неосознанно, получил привычную писать интерпретировать код и ленивую оценку Python. Например, следующий код работает в Python:

if(1 == 2):
    print(a)

Неважно, если переменная А был объявлен или нет, код работает, потому что Python никогда не выполняет оператор печати до тех пор, пока Если условие верно.

С другой стороны, когда вы пытаетесь сделать это в скомпилированном языке, например, NIM, он не удается, потому что, как и ожидалось от компилятора, он оценивает все, что может во время компиляции. Поэтому я получаю ошибку:

if(1 == 2):
    echo a #ERROR: undeclared identifier: 'a'

Вышеуказанный пример кажется чрезвычайно простым, но вы можете в конечном итоге с таком видом кузницы в любом месте, как будто я написал следующий код в NIM:

type 
    htag* = object
        text: string
        level: int
        name: string

    atag* = object
        text: string
        link: string
        name: string



proc renderTag(tag: object): string =
    echo tag
    if(tag.name == "h"):
        return "" & tag.text & ""

    elif(tag.name == "a"):
        return ""

    else:
        return "nothing"

Здесь, если я объявляю один вид объекта, я получу Недослуженное поле Ошибка с другой.

Оригинал: “https://dev.to/sigmapie8/compiled-vs-interpreted-a-code-example-3bak”