Давайте предположим, что у меня есть следующий класс в Python:
class TestPy:
def __init__(self):
pass
def f(self):
return("Hello World")
и я хочу вызвать функцию TestPy.f
из Haxe. Затем я могу сообщить компилятору этой функции, указав класс extern через
extern class TestPy {
public function new():Void;
public function f():String;
}
и затем использовать это объявление для вызова этой функции
class Test {
public static function main():Void {
var py:TestPy = new TestPy();
trace(py.f());
}
}
Компилируется, однако сгенерированный код выглядит так:
# Generated by Haxe 3.4.7
# coding: utf-8
class Text:
__slots__ = ()
@staticmethod
def main():
py = TestPy()
print(str(py.f()))
Text.main()
, который не работает, потому что модуль с классом TestPy
никогда не импортируется в коде:
NameError: имя 'TestPy' не определено
Итак, мой вопрос: как я могу посоветовать Haxe добавить оператор импорта (например, from testmodule import TestPy
) в сгенерированный код?