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 queThrowingPythonObject
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 lanzaPythonError.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 lanzaPythonError.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 lanzaPythonError.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 }