Vala와 Genie의 관계는 js와 CoffeeScript 사이의 관계와 매우 비슷합니다. js와 cs는 $ coffee -bc
과 $ js2coffee
으로 서로 컴파일 할 수 있습니다. 지니와 발라는 어때?Vala와 Genie간에 컴파일 할 수있는 방법이 있습니까?
3
A
답변
4
valac - dump-tree를 사용하여 Genie에서 Vala로 변환 할 수 있습니다. Valval에서 Genie 로의 변환은 libvala의 Vala.CodeWriter 클래스가 Genie가 아닌 Vala 만 출력하기 때문에 좀 더 복잡합니다. 아마도 Vala.CodeVisitor를 서브 클래 싱하여 (Vala.CodeWriter처럼) Genie를 출력하는 무언가를 만들 수는 있지만, 아직 아무도 그렇게하지 않았습니다.
그렇다면 왜 내가 원하는지 전혀 알 수 없습니다. 동일한 valac 호출 내에서 Genie 및 Vala 파일을 자유롭게 혼합 할 수 있습니다.
처럼 뭔가private static int main (string[] args) {
var foobar = new Foo (10);
var foobar2 = new Foo.with_bar (10);
return 0;
}
그리고 컴파일 :
[indent=4]
class Foo : Object
prop a : int
init
print "foo is intitialized"
final
print "foo is being destroyed"
/* only class properties may be set in creation methods */
construct (b : int)
a = b
/* only class properties may be set in creation methods */
construct with_bar (bar : int)
a = bar
을 그리고이의 믹스 vala.vala :
http://live.gnome.org/Genie에서 예를 수정, mix-genie.gs에 넣고
valac -o mix mix-genie.gs mix-vala.vala
Genie에서 컴파일하는 것이 나에게 충분히 강력 해 보입니다. 나는 Genie를 배울려고 노력했다. (중괄호와 너무 많은 단어에 대해 정리했다.) 더 많은 것을 배우기 위해 Vala의 문서를 읽으려고했다. 따라서 도구가 둘 사이에서 변환 할 수 있다면 도움이 될 것입니다. – jiyinyiyong
저는 현재 약 90 %의 Python과 10 %의 Vala 프로젝트에 참여하고 있습니다. Vala를 Genie로 변환 할 수 있다면 프로젝트의 대부분을 구성하는 파이썬 코드를 더보기 위해 깔끔할 것입니다. – robru