public struct ThrowingPythonObject
Оболочка PythonObject
, позволяющая вызывать вызовы методов. Исключения, создаваемые функциями Python, отображаются как ошибки Swift и выдаются.
Примечание
ThrowingPythonObject
намеренно не имеет атрибута @dynamicCallable
, поскольку синтаксис вызова неинтуитивен: x.throwing(arg1, arg2, ...)
. Методы по-прежнему будут называться dynamicallyCall
до дальнейшего обсуждения/проектирования. Вызовите
self
с указанными позиционными аргументами. Если вызов по какой-либо причине завершается неудачно, генерируетсяPythonError.invalidCall
.Предварительное условие
self
должен быть вызываемым объектом Python.Декларация
@discardableResult public func dynamicallyCall( withArguments args: PythonConvertible...) throws -> PythonObject
Параметры
args
Позиционные аргументы для вызываемого объекта Python.
Вызовите
self
с указанными позиционными аргументами. Если вызов по какой-либо причине завершается неудачно, генерируетсяPythonError.invalidCall
.Предварительное условие
self
должен быть вызываемым объектом Python.Декларация
@discardableResult public func dynamicallyCall( withArguments args: [PythonConvertible] = []) throws -> PythonObject
Параметры
args
Позиционные аргументы для вызываемого объекта Python.
Вызовите
self
с указанными аргументами. Если вызов по какой-либо причине завершается неудачно, генерируетсяPythonError.invalidCall
.Предварительное условие
self
должен быть вызываемым объектом Python.Декларация
@discardableResult public func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject
Параметры
args
Позиционные или ключевые аргументы для вызываемого объекта Python.
Если возможно, преобразуется в двухкортеж.
Декларация
public var tuple2: (PythonObject, PythonObject)? { get }
Если возможно, преобразуется в тройной кортеж.
Декларация
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
Если возможно, преобразуется в четырехкортеж.
Декларация
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }