public struct ThrowingPythonObject
Un wrapper PythonObject
che consente di lanciare chiamate al metodo. Le eccezioni prodotte dalle funzioni Python si riflettono come errori Swift e vengono lanciate.
Nota
È intenzionale cheThrowingPythonObject
non abbia l'attributo @dynamicCallable
perché la sintassi della chiamata non è intuitiva: x.throwing(arg1, arg2, ...)
. I metodi verranno comunque denominati dynamicallyCall
fino a ulteriore discussione/progettazione. Chiama
self
con gli argomenti posizionali specificati. Se la chiamata fallisce per qualche motivo, viene lanciatoPythonError.invalidCall
.Precondizione
self
deve essere un richiamabile Python.Dichiarazione
@discardableResult public func dynamicallyCall( withArguments args: PythonConvertible...) throws -> PythonObject
Parametri
args
Argomenti posizionali per il richiamabile Python.
Chiama
self
con gli argomenti posizionali specificati. Se la chiamata fallisce per qualche motivo, viene lanciatoPythonError.invalidCall
.Precondizione
self
deve essere un richiamabile Python.Dichiarazione
@discardableResult public func dynamicallyCall( withArguments args: [PythonConvertible] = []) throws -> PythonObject
Parametri
args
Argomenti posizionali per il richiamabile Python.
Chiama
self
con gli argomenti specificati. Se la chiamata fallisce per qualche motivo, viene lanciatoPythonError.invalidCall
.Precondizione
self
deve essere un richiamabile Python.Dichiarazione
@discardableResult public func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject
Parametri
args
Argomenti posizionali o di parole chiave per il richiamabile Python.
Converte in una tupla di 2, se possibile.
Dichiarazione
public var tuple2: (PythonObject, PythonObject)? { get }
Converte in una tupla di 3, se possibile.
Dichiarazione
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
Converte in una tupla di 4, se possibile.
Dichiarazione
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }