python - How to access an enum type by value in cython -
मुझे कुछ कोड दिया गया था जो इस तरह दिखता है:
"header.hpp" में:
enum वर्ग my_enum_type {val1 = 0; ...} "header_lib.pyx" में:
cdef extern से "header.hpp": enum my_enum_type: val1 = 0; ... ... बाद में "header_lib.pyx":
def foo (): ... वापस my_enum_type.val1 मुझे बताया गया था कि इसमें कोई समस्या नहीं होनी चाहिए, लेकिन यह मेरे अनुभव से अभी नहीं है, और इस पोस्ट में स्पष्ट है:
हालांकि, यह "val1" को अपने आप में नहीं पहचानता है, अगर मैं "वापसी val1" लिखता हूं ऐसा करने का सही तरीका क्या है?
आप एक enum को घोषित कर सकते हैं के रूप में: ctypedef enum विकल्प: OPT1, OPT2, OPT3 या
ctypedef enum विकल्प: OPT1, OPT2, OPT3 और और उदाहरण हो सकता है:
def मुख्य (): cdef विकल्प परीक्षण परीक्षण = OPT2 f (test) cdef void f (options) Inp): यदि inp == OPT1: प्रिंट ('OPT1') elif inp == OPT2: प्रिंट ('OPT2') elif inp == OPT3: प्रिंट ('OPT3') जब मुख्य () चल रहा है तो आपको "OPT2" मुद्रित दिखाई देगा। आप test को c या C ++ फ़ंक्शन को उसी तरह से पास कर सकते हैं जैसा कि cdef के लिए दिखाया गया है फ़ंक्शन।
Comments
Post a Comment