JogandoPythonObject

public struct ThrowingPythonObject

Um wrapper PythonObject que permite lançar chamadas de método. As exceções produzidas pelas funções Python são refletidas como erros Swift e lançadas.

Observação

É intencional que ThrowingPythonObject não tenha o atributo @dynamicCallable porque a sintaxe da chamada não é intuitiva: x.throwing(arg1, arg2, ...) . Os métodos ainda serão nomeados dynamicallyCall até discussão/design posterior.
  • Chame self com os argumentos posicionais especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall será lançado.

    Condição prévia

    self deve ser um Python que pode ser chamado.

    Declaração

    @discardableResult
    public func dynamicallyCall(
        withArguments args: PythonConvertible...) throws -> PythonObject

    Parâmetros

    args

    Argumentos posicionais para o Python chamável.

  • Chame self com os argumentos posicionais especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall será lançado.

    Condição prévia

    self deve ser um Python que pode ser chamado.

    Declaração

    @discardableResult
    public func dynamicallyCall(
        withArguments args: [PythonConvertible] = []) throws -> PythonObject

    Parâmetros

    args

    Argumentos posicionais para o Python chamável.

  • Chame self com os argumentos especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall será lançado.

    Condição prévia

    self deve ser um Python que pode ser chamado.

    Declaração

    @discardableResult
    public func dynamicallyCall(
        withKeywordArguments args:
        KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject

    Parâmetros

    args

    Argumentos posicionais ou de palavra-chave para o Python chamável.

  • Converte para uma tupla de 2, se possível.

    Declaração

    public var tuple2: (PythonObject, PythonObject)? { get }
  • Converte para uma tupla de 3, se possível.

    Declaração

    public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
  • Converte para uma tupla de 4, se possível.

    Declaração

    public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }