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 호출 가능 항목에 대한 위치 또는 키워드 인수입니다.
가능한 경우 2-튜플로 변환합니다.
선언
public var tuple2: (PythonObject, PythonObject)? { get }
가능한 경우 3-튜플로 변환합니다.
선언
public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
가능한 경우 4-튜플로 변환합니다.
선언
public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }