던지기Python객체

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 }