Throwing Python Object

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 callable.

  • با آرگومان های موقعیتی مشخص شده self فراخوانی کنید. اگر تماس به دلایلی ناموفق باشد، PythonError.invalidCall پرتاب می شود.

    پیش شرط

    self باید قابل فراخوانی پایتون باشد.

    اعلام

    @discardableResult
    public func dynamicallyCall(
        withArguments args: [PythonConvertible] = []) throws -> PythonObject

    مولفه های

    args

    آرگومان های موقعیتی برای Python callable.

  • با آرگومان های مشخص شده self فراخوانی کنید. اگر تماس به دلایلی ناموفق باشد، PythonError.invalidCall پرتاب می شود.

    پیش شرط

    self باید قابل فراخوانی پایتون باشد.

    اعلام

    @discardableResult
    public func dynamicallyCall(
        withKeywordArguments args:
        KeyValuePairs<String, PythonConvertible> = [:]) throws -> PythonObject

    مولفه های

    args

    آرگومان های موقعیت یا کلیدواژه برای Python callable.

  • در صورت امکان به 2 تایی تبدیل می شود.

    اعلام

    public var tuple2: (PythonObject, PythonObject)? { get }
  • در صورت امکان به 3 تایی تبدیل می شود.

    اعلام

    public var tuple3: (PythonObject, PythonObject, PythonObject)? { get }
  • در صورت امکان به 4 تایی تبدیل می شود.

    اعلام

    public var tuple4: (PythonObject, PythonObject, PythonObject, PythonObject)? { get }