public struct ThrowingPythonObject
Opakowanie PythonObject
umożliwiające rzucanie wywołań metod. Wyjątki generowane przez funkcje Pythona są odzwierciedlane jako błędy Swift i zgłaszane.
Notatka
CelowoThrowingPythonObject
nie ma atrybutu @dynamicCallable
, ponieważ składnia wywołania jest nieintuicyjna: x.throwing(arg1, arg2, ...)
. Metody będą nadal nazywane dynamicallyCall
do czasu dalszej dyskusji/projektu. Wywołaj
self
z określonymi argumentami pozycyjnymi. Jeśli z jakiegoś powodu wywołanie nie powiedzie się, zostanie zgłoszonyPythonError.invalidCall
.Warunek wstępny
self
musi być wywoływalne w Pythonie.Deklaracja
@discardableResult public func dynamicallyCall( withArguments args: PythonConvertible...) throws -> PythonObject
Parametry
args
Argumenty pozycyjne dla wywołania języka Python.
Wywołaj
self
z określonymi argumentami pozycyjnymi. Jeśli z jakiegoś powodu wywołanie nie powiedzie się, zostanie zgłoszonyPythonError.invalidCall
.Warunek wstępny
self
musi być wywoływalne w Pythonie.Deklaracja
@discardableResult public func dynamicallyCall( withArguments args: [PythonConvertible] = []) throws -> PythonObject
Parametry
args
Argumenty pozycyjne dla wywołania języka Python.
Wywołaj
self
z określonymi argumentami. Jeśli z jakiegoś powodu wywołanie nie powiedzie się, zostanie zgłoszonyPythonError.invalidCall
.Warunek wstępny
self
musi być wywoływalne w Pythonie.Deklaracja
@discardableResult public func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject
Parametry
args
Argumenty pozycyjne lub słowa kluczowe dla wywoływalnego języka Python.
Jeśli to możliwe, konwertuje na krotkę 2-krotną.
Deklaracja
public var tuple2: (PythonObject, PythonObject)? { get }
Jeśli to możliwe, konwertuje na krotkę 3-krotną.
Deklaracja
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
Jeśli to możliwe, konwertuje na krotkę 4-krotną.
Deklaracja
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }