Haxe 4.2.1 출력python 코드 결과
개요
최근에 파이톤을 처음 만졌을 때 개인적으로 코드 블록의 축소 기준을 좋아하지 않아서 슈퍼마켓 패키지를 찾았는데 헥스'hax(Youtube 조사)'https://haxe.org/를 발견했다.
토바이트 코드가 아니라 파이톤의 원본 코드를 연결할 수 있기 때문에 기존의 파이톤 코드와 키메라와 합체할 수 있습니까?그렇게 생각하면서 만져봤어요.
https://haxe.org/manual/target-python-getting-started.html
컨디션
Haxe: 4.2.1
코드 1
Haxe
Main.hx
class Main {
static public function main():Void {
trace("Hello World");
}
}
파일 이름이 반 이름과 다르면 안 돼요?Python
전송 명령:
haxe --python main.py --main Main
main.py# Generated by Haxe 4.2.1+bf9ff69
# coding: utf-8
import sys
class Main:
__slots__ = ()
@staticmethod
def main():
print("Hello World")
class haxe_iterators_ArrayIterator:
__slots__ = ("array", "current")
def __init__(self,array):
self.current = 0
self.array = array
def hasNext(self):
return (self.current < len(self.array))
def next(self):
def _hx_local_3():
def _hx_local_2():
_hx_local_0 = self
_hx_local_1 = _hx_local_0.current
_hx_local_0.current = (_hx_local_1 + 1)
return _hx_local_1
return python_internal_ArrayImpl._get(self.array, _hx_local_2())
return _hx_local_3()
class python_internal_ArrayImpl:
__slots__ = ()
@staticmethod
def _get(x,idx):
if ((idx > -1) and ((idx < len(x)))):
return x[idx]
else:
return None
class python_internal_MethodClosure:
__slots__ = ("obj", "func")
def __init__(self,obj,func):
self.obj = obj
self.func = func
def __call__(self,*args):
return self.func(self.obj,*args)
Main.main()
크다코드 2
Haxe
Main.hx
class Main {
static public function main():Void {
trace("Hello World");
var items = ["a", "b", "c"];
for (index in 0...items.length) {
trace('$index : ${items[index]}');
}
if (items.length == 3) {
trace('length is ');
trace('3');
} else {
trace('length is ');
trace('not 3');
}
trace('end');
}
}
관건적인 인코딩 블록을 만들어 보았다.Python
전송 명령:
haxe --python main.py --main Main
main.py# Generated by Haxe 4.2.1+bf9ff69
# coding: utf-8
import sys
class Main:
__slots__ = ()
@staticmethod
def main():
print("Hello World")
items = ["a", "b", "c"]
_g = 0
_g1 = len(items)
while (_g < _g1):
index = _g
_g = (_g + 1)
print(str(((("" + str(index)) + " : ") + HxOverrides.stringOrNull((items[index] if index >= 0 and index < len(items) else None)))))
if (len(items) == 3):
print("length is ")
print("3")
else:
print("length is ")
print("not 3")
print("end")
class haxe_iterators_ArrayIterator:
__slots__ = ("array", "current")
def __init__(self,array):
self.current = 0
self.array = array
def hasNext(self):
return (self.current < len(self.array))
def next(self):
def _hx_local_3():
def _hx_local_2():
_hx_local_0 = self
_hx_local_1 = _hx_local_0.current
_hx_local_0.current = (_hx_local_1 + 1)
return _hx_local_1
return python_internal_ArrayImpl._get(self.array, _hx_local_2())
return _hx_local_3()
class python_internal_ArrayImpl:
__slots__ = ()
@staticmethod
def _get(x,idx):
if ((idx > -1) and ((idx < len(x)))):
return x[idx]
else:
return None
class HxOverrides:
__slots__ = ()
@staticmethod
def stringOrNull(s):
if (s is None):
return "null"
else:
return s
class python_internal_MethodClosure:
__slots__ = ("obj", "func")
def __init__(self,obj,func):
self.obj = obj
self.func = func
def __call__(self,*args):
return self.func(self.obj,*args)
Main.main()
아니다for
!index in ...
에 전화해서 그런가?뭐, 코드 블록은 어쨌든 고마워요.그리고
HxOverrides
의 증가도 있었다.알아차리다
다른 관심사
Reference
이 문제에 관하여(Haxe 4.2.1 출력python 코드 결과), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/saikou9901/articles/99f7e07362b936텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)