public struct ThrowingPythonObject
Um wrapper PythonObject
que permite lançar chamadas de método. As exceções produzidas pelas funções Python são refletidas como erros Swift e lançadas.
Observação
É intencional queThrowingPythonObject
não tenha o atributo @dynamicCallable
porque a sintaxe da chamada não é intuitiva: x.throwing(arg1, arg2, ...)
. Os métodos ainda serão nomeados dynamicallyCall
até discussão/design posterior. Chame
self
com os argumentos posicionais especificados. Se a chamada falhar por algum motivo,PythonError.invalidCall
será lançado.Condição prévia
self
deve ser um Python que pode ser chamado.Declaração
@discardableResult public func dynamicallyCall( withArguments args: PythonConvertible...) throws -> PythonObject
Parâmetros
args
Argumentos posicionais para o Python chamável.
Chame
self
com os argumentos posicionais especificados. Se a chamada falhar por algum motivo,PythonError.invalidCall
será lançado.Condição prévia
self
deve ser um Python que pode ser chamado.Declaração
@discardableResult public func dynamicallyCall( withArguments args: [PythonConvertible] = []) throws -> PythonObject
Parâmetros
args
Argumentos posicionais para o Python chamável.
Chame
self
com os argumentos especificados. Se a chamada falhar por algum motivo,PythonError.invalidCall
será lançado.Condição prévia
self
deve ser um Python que pode ser chamado.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 para uma tupla de 3, se possível.
Declaração
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
Converte para uma tupla de 4, se possível.
Declaração
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }