Haxe

2016-06-26 6 views
2

내가 Haxe를 사용하여 플라스크 서버를 구축하기 위해 노력하고있어, 나는이 JSON을 반환하는 방법에 난처한 해요로 만든 플라스크 서버에서 JSON을 반환하는 방법. 나는 위 문자열을 반환 Main.index()this gist를 사용하여 실행하는 예를 가지고,하지만 난 haxe.Json.stringify()에서 문자열을 반환하려고 할 때 출력 파이썬을 실행하려고하면 오류가 발생합니다.Haxe

import haxe.Constraints.Function; 

@:pythonImport("flask", "Flask") 
extern class Flask { 
    function new(module:String); 
    function route<T:Function>(path:String):T->T; 
    function run():Void; 
} 

class Main { 
    static function main() { 
     var app = new Flask(untyped __name__); 
     app.route("/")(index); 
     app.run(); 
    } 

    static function index() { 
     return haxe.Json.stringify({msg:"hello"}); 
    } 
} 

파이썬 오류 :

$ python main.py 
    File "main.py", line 69 
    return haxe_format_JsonPrinter.print(_hx_AnonObject({'msg': "hello"}),None,None) 
            ^
SyntaxError: invalid syntax 
+2

당신은 파이썬 3를 사용하고 있습니까? Haxe의 Python 타겟은 실수가 아니라면 Python 3 만 지원합니다. 파이썬 3 다음 죄송 사용하는 경우 –

+0

을 (그리고 나는 때문에 파이썬 2 "인쇄"에서, 파이썬 2 위의 오류를 얻을 것이라고 성명/키워드를했다 추측하고있어 아마도 함수 이름으로 사용할 수 없습니다) 잘 모르겠어요 :) 일 JasonO'Neil @ –

+0

! 정말 고마워! – cjohnson318

답변

2

그것은 잘 문서화 될 것 같지 않지만 Haxe의 파이썬 대상은이 경우 https://github.com/HaxeFoundation/haxe/issues/4195

를 참조 파이썬 3. 지원 "프린트"이었다 키워드를 파이썬 2에서 사용하고, Haxe 생성 코드는 "print"라는 함수를 생성하려고합니다. 따라서 오류가 발생합니다.

시도 :

python3 main.py 

은 제대로 실행해야합니다.