public struct ThrowingPythonObject
wrapper PythonObject
ที่เปิดใช้งานการเรียกใช้เมธอด Throw ข้อยกเว้นที่สร้างโดยฟังก์ชัน 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 ที่เรียกได้
แปลงเป็น 2-tuple ถ้าเป็นไปได้
คำประกาศ
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 }