ThrowingPythonObject

public struct ThrowingPythonObject

Un PythonObject envoltorio 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 tiene la @dynamicCallable atributo porque la sintaxis de llamada no es intuitivo: x.throwing(arg1, arg2, ...) . Los métodos todavía serán nombrados dynamicallyCall hasta nuevo análisis / diseño.
  • Llame a self con los argumentos posicionales especificadas. Si la llamada falla por alguna razón, PythonError.invalidCall es lanzada.

    Condición previa

    self debe haber un exigible Python.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales para Python invocable.

  • Llame a self con los argumentos posicionales especificadas. Si la llamada falla por alguna razón, PythonError.invalidCall es lanzada.

    Condición previa

    self debe haber un exigible Python.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales para Python invocable.

  • Llame a self con los argumentos especificados. Si la llamada falla por alguna razón, PythonError.invalidCall es lanzada.

    Condición previa

    self debe haber un exigible Python.

    Declaración

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

    Parámetros

    args

    Argumentos posicionales o de palabras clave para el Python invocable.

  • 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 }
  • Convierte a 4 tuplas, si es posible.

    Declaración

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