public struct ThrowingPythonObject
مُجمِّع PythonObject
الذي يتيح استدعاءات الأسلوب. تنعكس الاستثناءات التي تنتجها وظائف بايثون كأخطاء سويفت ويتم طرحها.
ملحوظة
من المقصود أنThrowingPythonObject
لا يحتوي على السمة @dynamicCallable
لأن صيغة الاستدعاء غير بديهية: x.throwing(arg1, arg2, ...)
. ستظل الطرق تسمى dynamicallyCall
حتى يتم إجراء مزيد من المناقشة/التصميم. استدعاء
self
مع الحجج الموضعية المحددة. إذا فشل الاستدعاء لسبب ما، فسيتم طرحPythonError.invalidCall
.شرط مسبق
self
يجب أن تكون لغة بايثون قابلة للاستدعاء.تصريح
@discardableResult public func dynamicallyCall( withArguments args: PythonConvertible...) throws -> PythonObject
حدود
args
الحجج الموضعية لـ Python القابلة للاستدعاء.
استدعاء
self
مع الحجج الموضعية المحددة. إذا فشل الاستدعاء لسبب ما، فسيتم طرحPythonError.invalidCall
.شرط مسبق
self
يجب أن تكون لغة بايثون قابلة للاستدعاء.تصريح
@discardableResult public func dynamicallyCall( withArguments args: [PythonConvertible] = []) throws -> PythonObject
حدود
args
الحجج الموضعية لـ Python القابلة للاستدعاء.
استدعاء
self
مع الحجج المحددة. إذا فشل الاستدعاء لسبب ما، فسيتم طرحPythonError.invalidCall
.شرط مسبق
self
يجب أن تكون لغة بايثون قابلة للاستدعاء.تصريح
@discardableResult public func dynamicallyCall( withKeywordArguments args: KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject
حدود
args
الوسائط الموضعية أو الكلمات الرئيسية لـ Python القابلة للاستدعاء.
يتم التحويل إلى صفين، إن أمكن.
تصريح
public var tuple2: (PythonObject, PythonObject)? { get }
تحويل إلى 3-tuple، إذا كان ذلك ممكنا.
تصريح
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
تحويل إلى 4-tuple، إذا كان ذلك ممكنا.
تصريح
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }