Se a declaração Swift 'guard' deve sair do escopo, qual é a definição de escopo?

Estou confuso sobre a definição de um bloco de código ou de 'escopo'. Os documentos da Apple para guarda dizem o seguinte: o bloco else de uma declaração de guarda ...

"deve transferir o controle para sair do bloco de código no qual a declaração de guarda aparece."

De outrosfontes online digamos que a declaração de guarda deve sair do 'escopo' em que existe.

Então, pegue o código de exemplo abaixo:

func testGuardControlFlow () {

let x = 2
let y = 2

    func embededFunc () {

        if y == 2 {

            guard x == 1 else {
                print("oops, number is not 1")
                return
            }

            print ("from in embededFunc")

        }

        print ("I still want this to print even if x != 1")
    }

    embededFunc()
    print("Great, return still allows this to be printed.")

}

testGuardControlFlow()

De acordo com meu entendimento atual de 'escopo', o código

if y == 2 {....}

cria um novo escopo, ou seja, entre {}. E, dada essa suposição, a guarda simplesmente escaparia desse escopo. Mas esse não é o caso. O protetor nesse caso escapa da função em que é colocado, independentemente de estar enterrado em uma cláusula if.

Estou completamente entendendo mal o que significa 'escopo'? O escopo significa o código contido em um método? Em caso afirmativo, qual é o termo correto para o 'espaço' existente em uma instrução if?

questionAnswers(3)

yourAnswerToTheQuestion