ThrowingPythonObject

public struct ThrowingPythonObject

A PythonObject invólucro que permite jogar chamadas de método. As exceções produzidas por funções Python são refletidas como erros Swift e lançadas.

Observação

É intencional que ThrowingPythonObject não tem o @dynamicCallable atributo porque a sintaxe de chamada é intuitiva: x.throwing(arg1, arg2, ...) . Os métodos ainda será nomeado dynamicallyCall até uma discussão mais aprofundada / design.
  • Chamada self com os argumentos posicionais especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall é lançada.

    Condição prévia

    self deve ser um que pode ser chamado Python.

    Declaração

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

    Parâmetros

    args

    Argumentos posicionais para o Python chamável.

  • Chamada self com os argumentos posicionais especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall é lançada.

    Condição prévia

    self deve ser um que pode ser chamado Python.

    Declaração

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

    Parâmetros

    args

    Argumentos posicionais para o Python chamável.

  • Chamada self com os argumentos especificados. Se a chamada falhar por algum motivo, PythonError.invalidCall é lançada.

    Condição prévia

    self deve ser um que pode ser chamado Python.

    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 em uma tupla de 3, se possível.

    Declaração

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

    Declaração

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