LanzandoPythonObjeto

public struct ThrowingPythonObject

Un contenedor PythonObject que permite lanzar llamadas a métodos. Las excepciones producidas por las funciones de Python se reflejan como errores de Swift y se lanzan.

Nota

Es intencional que ThrowingPythonObject no tenga el atributo @dynamicCallable porque la sintaxis de la llamada no es intuitiva: x.throwing(arg1, arg2, ...) . Los métodos seguirán teniendo el nombre de dynamicallyCall hasta que se discuta o diseñe más.
  • Llámese self con los argumentos posicionales especificados. Si la llamada falla por algún motivo, se lanza PythonError.invalidCall .

    Condición previa

    self debe ser un Python invocable.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales para el invocable de Python.

  • Llámese self con los argumentos posicionales especificados. Si la llamada falla por algún motivo, se lanza PythonError.invalidCall .

    Condición previa

    self debe ser un Python invocable.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales para el invocable de Python.

  • Llámese self con los argumentos especificados. Si la llamada falla por algún motivo, se lanza PythonError.invalidCall .

    Condición previa

    self debe ser un Python invocable.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales o de palabras clave para el invocable de Python.

  • Se convierte en una tupla de 2, si es posible.

    Declaración

    public var tuple2: (PythonObject, PythonObject)? { get }
  • Se convierte en una tupla de 3, si es posible.

    Declaración

    public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
  • Se convierte en una tupla de 4, si es posible.

    Declaración

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