Procedimentos e funções

# example of procedure
    func act(k: float) {
        # do something
    }

    # example of function
    func ans: int = sum(x: int, y: int) {
        ans = x + y;
    }

Passagens de parâmetros

Vetores e matrizes de tamanho indefinido (tipos mat e vec) são sempre passados por referência. Por padrão, todos os outros tipos -- incluindo tipos primitivos como int, vec3, mat3, e tipos definidos pelo usuário -- são passados por cópia. Podemos utilizar modo de passagem por referência através da palavra reservada ref.

Seguindo a metodologia de linguagens de programação modernas, os argumentos formais são constantes por padrão. Para indicar que um parâmetro formal é mutável, deve-se anotar o seu tipo com a palavra reservada mut.

func f(
        x: int, # by copy, constant
        y: mut int, # by copy, mutable
        z: ref int, # by reference, constant
        w: mut ref int, # by reference, mutable
        A: vec, # by reference, constant
        B: mut vec, # by reference, mutable
        f: (int -> int)) { # subprogram constant reference
        # do something
    }

results matching ""

    No results matching ""